在虚拟环境中创建.pth文件,以便在不使用pip或import-utils的情况下导入我的包

时间:2017-06-18 21:40:47

标签: python virtualenv conda

我使用

创建了一个虚拟环境
conda create --name py 

我最初的计划是在PYTHONPATH变量中添加一个目录,但仅限于py虚拟环境。

我发现了一个使用.pth文件的替代解决方案。我已按照说明操作,将包含我的包的文件放入带有.pth扩展名的纯文本文件中,并保存到site-packages环境的py目录中,但这不是允许我import我的包裹。

总结:我把这条路径

`C:\Users\Ciaran\Documents\PyCoTools` 

包含我的包的setup.py到纯文本文件并保存到

C:\Anaconda2\envs\pycotools\Lib\site-packages\pycotools.pth

但是我仍然无法从包目录以外的任何地方导入我的包。任何人都可以指出我做错了什么吗?

1 个答案:

答案 0 :(得分:0)

从您描述的命令和路径,我会说,您将pth文件放在错误的虚拟环境的site-packages目录中:在conda params中,您将VE命名为py,但是存储了pth文件在VE中用于pycotools。

pth文件应该可供您运行脚本的python解释器使用。解释器扫描其site-packages目录,并将pth文件中的路径添加到其sys.path中。也就是说,您可以通过打印sys.path的内容来检查是否添加了路径。

我想到的另一件事是,如果模块本身位于其他位置,则setup.py所在的目录不相关。 pth文件只允许您修补sys.path,而不是安装您的包。如果软件包需要安装,最好将其安装在专门创建的VE中。