是否可以为python创建嵌套的虚拟环境?

use*_*354 5 python virtualenv python-3.x

在处理一些自动化脚本时,我发现需要有一些通用包可用于所有脚本(如ipythonspyder)并且只安装,我们称之为每个脚本的差异包。有没有办法在python中嵌套虚拟环境?也就是说,某种设置环境的方法,以便python首先查看最内层的环境;如果没有找到,它会查看第二个最里面的环境,依此类推,直到到达系统范围的包环境?

我能找到的最接近的是将venv模块与--system-site-packages 一起使用选项但我无法实现我想要的:首先,我不想使用 root 权限在系统上安装软件包;其次,我找不到使用此选项嵌套虚拟环境的方法。

如果有的话,实现这种嵌套虚拟环境结构的最佳方法是什么?

wim*_*wim 4

不,.net 中没有任何这样的“嵌套”功能venv

我认为最好的选择是在需求文件中定义通用包,然后在创建新的虚拟环境时安装它们

pip install -r requirements-common.txt
Run Code Online (Sandbox Code Playgroud)

  • 我会使用 [`.pth` 文件](https://docs.python.org/3/library/site.html) 而不是修改 `PYTHONPATH`。请参阅此答案及其链接,了解有关如何实现这一目标的一些想法:/sf/answers/4268201171/ - 特别是:https://discuss.python.org/t/optimizing-installs- of-many-virtualenvs-by-symlinking-packages/2983/7 (2认同)