如何在 viralenv 中向 PYTHONPATH 添加路径

我正在尝试给 PYTHONPATH 环境变量添加一个路径,这个路径只能在一个特定的 viralenv 环境中看到。

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

我怎么才能做到呢?

131600 次浏览

通过 使用 .pth文件,您通常可以避免使用 PYTHONPATH 进行任何操作。只要把一个文件与一个。Pth 扩展名(任何基名都可以)放在你的 viralenv 站点包文件夹中,例如 lib\python2.7\site-packages,其中包含你的包的目录的绝对路径是它唯一的内容。

如果您正在使用 virtualenv,那么您可能也应该使用 虚拟包装器,在这种情况下,您可以使用 Add2 Virtual alenv命令为当前的 viralenv 添加到 Python 路径的路径:

add2virtualenv directory1 directory2 …

您还可以尝试将 symlink 放到其中一个 Virtual alenv 上。

1)激活你的 viralenv 2)跑巨蟒 3)导入 sys 并检查 sys.path 4)你可以在那里找到 python 的搜索路径,选择其中的一个(例如 site-package) 5) go there and create symlink to your package like: ln -s path-to-your-package name-with-which-you'll-be-importing

这样你应该能够导入它,甚至不需要激活你的 viralenv 进口你的包裹。

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)

I strongly suggest you use virtualenv and virtualenvwrapper to avoid cluttering the path.

如果您正在使用 viralenvwrapper,

$ cd to the parent folder
$ add2virtualenv  folder_to_add

控制台将显示

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

就这样,你应该可以走了

As suggested by @crimeminister above, you can use virtualenvwrapper then add2virtualenv like suggested by @Aneesh Panoli. If add2virtualenv is not working after pip install virtualenvwrapper, then 按照最高投票答案@Chirinosky 在这里的说明. Works for me.

在使用 Python 3.9的虚拟环境中安装 Box2d 时遇到了麻烦。

只需运行一个 pip install swig,然后就能够成功地运行 pip install box2d