如何在virtualenv中添加PYTHONPATH的路径

时间:2012-05-24 13:57:03

标签: python virtualenv

我正在尝试添加PYTHONPATH环境变量的路径,该路径只能从特定的virtualenv环境中看到。

我在virtualenv命令提示符下尝试了SET PYTHONPATH=...,但是为整个环境设置了变量。

我如何实现这一目标?

6 个答案:

答案 0 :(得分:140)

您通常可以通过using .pth files避免对PYTHONPATH做任何事情。只需在你的virtualenv的site-packages文件夹中放一个扩展名为.pth的文件(任何basename都可以),例如: lib\python2.7\site-packages,包含包的唯一内容的目录的绝对路径。

答案 1 :(得分:89)

如果您正在使用virtualenv,您可能也应该使用virtualenvwrapper,在这种情况下,您可以使用add2virtualenv命令为当前virtualenv的Python路径添加路径:

add2virtualenv directory1 directory2 …

答案 2 :(得分:5)

您也可以尝试将符号链接添加到您的virtualenv。

例如。 1)激活你的virtualenv 2)运行python 3)import sys并检查sys.path 4)你会在那里找到python搜索路径。选择其中一个(例如网站包) 5)去那里为你的包创建符号链接,如: ln -s path-to-your-package name-with-which-you-be-imported

这样你甚至可以在不激活virtualenv的情况下导入它。只需尝试:path-to-your-virtualenv-folder / bin / python 并导入你的包裹。

答案 3 :(得分:0)

import sys
import os

print(str(sys.path))

dir_path = os.path.dirname(os.path.realpath(__file__))
print("current working dir: %s" dir_path)

sys.path.insert(0, dir_path)

我强烈建议您使用virtualenv和virtualenvwrapper来避免混乱路径

答案 4 :(得分:0)

如果您使用virtualenvwrapper,则

$ cd to the parent folder
$ add2virtualenv  folder_to_add

控制台将显示

Warning: Converting "folder_to_add" to "/absoutle/path/to/folder_to_add"

就是这样,你应该很好走

答案 5 :(得分:0)

正如上面@crimeminister 所建议的,您可以像@Aneesh Panoli 所建议的那样使用 virtualenvwrapper 然后 add2virtualenv。如果 add2virtualenvpip install virtualenvwrapper 后不起作用,则 follow instructions in the top voted answer by @chirinosky here。对我有用。