我通常更喜欢创建使用-NO SITE包装选项的VirtualEnvs以进行更多隔离,并且还因为默认的Python Global软件包包含很多软件包,并且通常不需要其中大多数。但是,我仍然想保留一些精选的软件包,例如PIL或PSYCOPG2。是否有一个很好的方法将它们包括在Virtualenv中,也可以轻松自动化?

有帮助吗?

解决方案

如果您正在使用 Virtualenvwrapper 您也许可以使用 Postmkvirtualenv 脚本将在新的Virtualenv SitePackages目录中自动创建符号链接。

#!/bin/sh
cdsitepackages
ln -s /path/to/system/site-packages/package-name
cdvirtualenv

其他提示

如果您正在使用 Virtualenvwrapper, ,shell命令 add2virtualenv 应在活动的虚拟v中存在。采用:

add2virtualenv /path/to/package

为PTH文件添加条目 _virtualenv_path_extensions.pth 在您的Virtualenv网站包中。

使用Add2virtualenv而不是自己创建符号链接的好处是,您可以通过在PTH文件中评论其行来删除包裹的导入。这使得对您的代码依赖的多个版本的库有效性更加容易。

我实际上还没有使用这些特定的软件包尝试过,但是我想,从全局站点包装到Virtualenv的站点包装中的简单符号链接可能会起作用,这很容易脚本脚本。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top