如何解决本地Sublime编辑器中运行np.genfromtxt加载在线CSV文件出现的OSError问题
解决本地Sublime运行numpy genfromtxt读取URL数据的报错问题
我之前也碰到过几乎一模一样的问题,大概率是本地环境的依赖版本、解释器配置或者网络权限问题导致的,给你几个实用的排查和解决办法:
检查并升级本地环境的numpy版本
虚拟环境里的numpy可能是较新的版本,已经支持直接从HTTP URL读取文件,而你本地环境的numpy版本太旧,没有这个功能。
先在本地终端运行pip show numpy查看版本,再对比虚拟环境里的版本。如果本地版本过低,执行pip install --upgrade numpy升级到和虚拟环境一致的版本即可。确认Sublime使用的Python解释器是否正确
很多时候Sublime默认调用的是系统自带的Python,而不是你自己安装的本地Python环境。你可以手动配置Sublime的构建系统:- 打开Sublime,点击
Tools > Build System > New Build System - 粘贴以下内容(把路径替换成你本地Python解释器的实际路径):
{ "cmd": ["你的本地Python路径/python.exe", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python" } - 保存为
LocalPython.sublime-build,然后选择这个构建系统来运行代码,这样就会用你配置的本地Python环境,和虚拟环境的依赖保持一致。
- 打开Sublime,点击
排查网络与代理问题
本地环境可能存在网络限制或者代理设置,导致无法访问GitHub的raw链接。你可以先在浏览器打开那个URL,确认能正常加载数据。如果浏览器能打开但代码不行:- 尝试关闭本地的代理软件再运行代码
- 或者手动把数据下载到py文件同目录,改用本地路径读取:
data = np.genfromtxt('data.csv', delimiter=',')
检查本地环境的文件权限
numpy在处理URL读取时,可能会把文件临时下载到系统临时目录,如果本地Python没有写入临时目录的权限,也会触发类似的报错。可以尝试以管理员身份运行Sublime,或者检查系统临时目录的读写权限。
内容的提问来源于stack exchange,提问作者Susan
相关产品推荐
相关产品推荐

