我是python venv的新手,所以很抱歉可能会有一个愚蠢的问题
我正在开发一个小图书馆。我已经用库使用所需的所有包创建了dev虚拟环境,并将所有版本的需求冻结到requirements.txt
我还想用开发和测试所需的所有包创建requirements_test.txt。因此,用户将从requirements.txt安装需求,而开发者将从requirements_test.txt安装所有Nessery libs(例如pytest、asv、sphinx)
现在我已经创建了dev-venv,现在我想创建test-venv,当然我不想两次安装相同的libs。从一个venv到另一个venv是否可以共享一些LIB
我认为建议在同一台机器上使用多个VENV和多个环境。那就再喝一杯吧。在两个VENV中都有相同的库是可以的
即使在虚拟环境中,也有许多与python一起预装的库,它们在您正在开发的包中不是必需的,当我在一个全新的虚拟环境中运行
pip freeze
时,它会转储30个包,我的项目肯定不需要它们我建议您手动执行依赖项维护(至少是生产维护),这样您就不会包含无用的库,并且可以保持依赖项文件的干净
不可以。每个虚拟环境将安装一次相同的库(或应用程序),安装不能在环境之间共享。像这样的天气非常好。这就是虚拟环境的全部要点,同一个库中的两个安装相互隔离,特别是在两个不同的项目需要同一个库的两个不同版本的情况下
公平地说,有几种方法可以在两个虚拟环境之间共享同一个库的一个安装,以及这样做的原因。我知道的一个著名的例子是virtualenv(版本20+)的较新版本。简而言之:此工具创建虚拟环境,并且(在特定条件下)能够在多个环境中重用(共享)安装的pip、setuptools和wheel,请参见^{} seeder for virtualenv
关于该主题的更多讨论:
相关问题 更多 >
编程相关推荐