如果我正在使用 Python 和其他一些软件包(例如已经安装的 virtualenv)在共享 Web 服务器上工作。我可以使用 virtualenv 在特定目录中安装我需要的一些附加软件包,同时仍然使用系统范围的 python 和软件包,或者更好的是,我可以在我自己的目录中安装附加 python 软件包并将它们用于我的网站,而不需要 sudo 权限吗?
最佳答案
您可以使用 --system-site-packages
开关在 virtualenv 中显式包含所有全局安装的软件包:
Give access to the global site-packages dir to the virtual environment
或使用 --no-site-packages
开关禁用全局站点包:
Don't give access to the global site-packages dir to the virtual environment
后者目前是默认值。
我个人在我的全局站点包中安装了 lxml
,因此我们可以将其用作一个小演示:
$ virtualenv nositepackages
New python executable in nositepackages/bin/python
Installing setuptools............done.
Installing pip...c............done.
$ ./nositepackages/bin/python -c 'import lxml; print lxml.__package__'
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named lxml
$ virtualenv --system-site-packages sitepackages
New python executable in sitepackages/bin/python
Installing setuptools............done.
Installing pip...............done.
$ ./sitepackages/bin/python -c 'import lxml; print lxml.__package__'
lxml
关于python - 我可以使用 VirtualEnv 仅安装一些附加软件包吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12463556/