在Anaconda

时间:2017-05-24 08:37:39

标签: python anaconda

我想在我们的Anacoda文件夹中使用我们正在使用的外部库(在本地开发)。我知道简单的方法是将包直接放入C:/Users/XXX/AppData/Local/Continuum/Anaconda2/Lib/site-packages

但是我需要将图书馆保存在不同的地方。其中一个answers建议在.pth中创建一个site-packages文件,这是我喜欢的解决方案。因此,我创建了文件name.pth,其中有一行包含库C:/path to/whatever/library的路径。但是,如果我重新启动Spyder并尝试导入库,则会出现错误

  

ImportError:没有名为XXX的模块

我想我可能以错误的方式指定了路径?路径中还有一个空白区域。也许那可能是个问题?

[Python 2.7 with Anacodna distribution 4.3.17,Windows 7]

修改

到目前为止,我发现我可以在.py文件夹中创建一个site-packages文件,其中包含以下内容:

# make path
import sys
sys.path.append('C:/path to/whatever/library')

from packageA import A1, A2, A3
from packageB import B1, B2, B3

如果我保留相同的名称,导入工作正常。但是每次我添加新的包或函数时,都必须更新.py文件,这真的很烦人。

1 个答案:

答案 0 :(得分:2)

所以最后我找到了解决.pth解决方案的方法。问题出在文件夹结构中。如果.pth文件如下所示:C:/path to/whatever/library_name,则库的目录必须如下所示:C:/path to/whatever/library_name/library_name

基本上,不必指向文件,必须指向包含文件的文件夹。愚蠢的错误。