【发布时间】:2018-10-22 10:31:37
【问题描述】:
我有多个 python 项目,每个项目都有自己的虚拟环境。此外,我有一个全局 python 环境。我想在虚拟/全局环境之间共享相同的包文件,而不需要多次复制它们(如果可能)。
Environment Packages
----------------------------------------
GLOBAL: A B C D
VENV_1: A B C E
VENV_2: C D F
所以,在这个例子中:
- 所有环境都将为
C共享相同的文件。 -
GLOBAL和VENV_1还将共享A和B的文件。 - 并且
GLOBAL和VENV_2将为D共享文件。 - 但由于
E和F未全局安装,因此虚拟环境将单独安装这些包。
我尝试将virtualenv 与--system-site-packages 标志一起使用,但这只会使所有 全局包在虚拟环境中可访问。因此,当我使用pip freeze 导出我的环境时,它将包含不必要的包。
如何使用选定的包创建虚拟环境,这样如果全局安装了一个包,则不会在本地创建该包的文件的新副本?这可以使用conda 或virtualenv 或任何其他工具吗?
我正在使用带有 python 3.6 的 Windows 10。
【问题讨论】:
标签: python virtualenv