Anaconda 和 Canopy 之间 genfromtxt 的区别

Difference in genfromtxt between Anaconda and Canopy

我正在使用 Anaconda (spyder IDE) 在 Python 中编程,但我最近安装了 Canopy。在我的大多数程序中,我都使用 genfromtxt 命令将数据加载到我的程序中。整行看起来像这样

data=np.genfromtxt('Data/1.txt',usecols=(0,1),delimiter='\t')

在 Anaconda 中,这工作正常,但是当我尝试 运行 在 Canopy 中使用相同的代码时,出现以下错误

OSError: Data/1.txt not found.

同时安装两个发行版会不会是问题所在?或者 Canopy 是否需要不同的语法来编写文件路径?我知道这是基本问题,但我根本不知道该怎么办。我也在使用 Mac OS High Sierra。也许这很重要。

谢谢

问题是您 运行将脚本放在与代码预期不同的目录中。对于您的代码来说,通常最好的做法是不要假定您的数据位于您的脚本目录中,但为了快速解决方案,在 Canopy 编辑器中更改您的 cwd 就足够了。参见 "Change directory" in the Canopy docs

Could, having the both distributions installed at the same time, be the problem?

不,这不是这个问题的根源。然而,切线地,当你安装了多个 python 环境时(即使,例如,如果它们是多个 conda 或 canopy / edm 环境),那么它们中的 none 应该默认在你的 PATH 上以避免混淆。对于 运行 Canopy,其中 none 需要在您的 PATH 中。