python - 我可以使用 VirtualEnv 仅安装一些附加软件包吗?

标签 python django virtualenv

如果我正在使用 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/

相关文章:

python - 当 Pyramid 在 CherryPy 之上处理 HTTP 请求时打开了多少数据库连接

python - 序列化器在 Django shell 中工作但在 View 中失败

python - 通过电子邮件请求批准并处理 Python + Django

python - tensorflow Python 3.7

python - 在一个命令中使用 virtualenv 和 pip 设置新的开发环境

python - 如何从 re.compile 获取匹配的对象,但不是匹配组

python - PyMC3 将随机协方差矩阵传递给 pm.MvNormal()

python - Django - ValueError : ModelState. 字段不能引用模型类 - "tags.to"可以。改用字符串引用

python-3.x - python 3的Virtualenvwrapper替代品

Python-docx 在表中查找和替换图像