我是 python venv 的新手,很抱歉可能提出愚蠢的问题。
我正在开发一个小型图书馆。我已经创建了开发虚拟环境,其中包含库使用所需的所有包,并将所有版本的需求冻结到requirements.txt。
我还想创建requirements_test.txt,其中包含开发和测试所需的所有包。因此,用户将从requirements.txt安装需求,而开发人员从requirements_test.txt安装所有必需的库(例如pytest、asv、sphinx)。
现在我已经创建了 dev venv,现在我想创建 test venv,当然我不想安装相同的库两次。是否可以将一些库从一个 venv 共享到另一个 venv?
是否可以将一些库从一个 venv 共享到另一个 venv?
不可以。相同的库(或应用程序)将在每个虚拟环境中安装一次,安装不能在环境之间共享。像这样就完全没问题了。这就是虚拟环境的全部要点,来自同一库的两个安装彼此隔离,特别是对于两个不同的项目需要同一库的两个不同版本的情况。
公平地说,有多种方法可以在两个虚拟环境之间共享同一库的一个安装,以及这样做的原因。我目前知道的一个著名的例子是在较新版本中虚拟环境 https://pypi.org/project/virtualenv/(版本 20+)。简而言之:该工具创建虚拟环境并且(在特定条件下)能够重用(共享)安装pip, 设置工具, and wheel在多种环境中,请参阅app-data播种机虚拟环境 https://virtualenv.pypa.io/en/latest/user_guide.html#seeders.
关于该主题的更多讨论:
- https://discuss.python.org/t/proposal-sharing-disrbution-installations-in-general/2524 https://discuss.python.org/t/proposal-sharing-distrbution-installations-in-general/2524
- https://discuss.python.org/t/optimizing-installs-of-many-virtualenvs-by-symlinking-packages/2983 https://discuss.python.org/t/optimizing-installs-of-many-virtualenvs-by-symlinking-packages/2983
- https://github.com/pypa/packaging-problems/issues/328 https://github.com/pypa/packaging-problems/issues/328
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)