Python虚拟环境(venv): Share libraries in usage and dev/test venvs

标签 python virtualenv

我是 python venv 的新手,很抱歉可能会提出愚蠢的问题。

我正在开发一个小型图书馆。我已经创建了开发虚拟环境,其中包含库使用所需的所有包,并将所有版本的需求卡住到 requirements.txt。

我还想创建包含开发和测试所需的所有包的 requirements_test.txt。因此,用户将从 requirements.txt 安装需求,而开发人员从 requirements_test.txt 安装所有必需的库(例如 pytest、asv、sphinx)。

现在我已经创建了 dev venv,现在我想创建 test venv,当然我不想安装相同的库两次。是否可以将一些库从一个 venv 共享到另一个 venv?

最佳答案

Is it possible to share some libs from one venv to another?

没有。每个虚拟环境将安装一次相同的库(或应用程序),安装不能在环境之间共享。像这样完全没问题。这就是虚拟环境的全部要点,来自同一个库的两个安装相互隔离,特别是在两个不同项目需要同一个库的两个不同版本的情况下。

公平地说,有一些方法可以在两个虚拟环境之间共享同一个库的一个安装以及这样做的原因。我目前知道的一个著名例子是在较新版本的 virtualenv 中。 (版本 20+)。简而言之:此工具创建虚拟环境并且(在特定条件下)能够重用(共享)pipsetuptoolswheel 在多个环境中,请参阅 app-data seeder for virtualenv .

关于该主题的更多讨论:

关于Python虚拟环境(venv): Share libraries in usage and dev/test venvs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60973272/

相关文章:

python - 将输入参数从 jupyter notebook 传递给脚本

python - 尝试创建 CSV 文件,不断收到 TypeError : 'str' does not support the buffer interface

python - 在 Python 中排序的最快方法(没有 cython)

python - 使用 virtualenv 时在 pythonpath 中包含 Git 子模块

python - pycharms 控制台使用什么 python 环境?

python - python 的多个错误解释器问题(即使使用 virtualenv)

python - 如何搭建chef环境,运行Django,发送邮件

javascript - 如何使用 flask [使用 flask 示例] 将 javascript 数组传递给 python 脚本

python-2.7 - pip install 产生 OSError : [Errno 13] Permission denied:

mysql - 如何在virtualenv中安装mysql?