我正在运行 Arch Linux,并希望使用虚拟环境仅安装我用于特定项目的少数 PIP 包,同时继续使用 Arch 的 Python 包。但是,当我创建一个使用参数的新 VENV --system-site-packages
(用于访问 Arch 基础 Python 包)时,新的 VENV 并不是非 VENV 环境的完整镜像。
我如何测试这个:
pip freeze
我当前安装的Arch 软件包中的 Python。创建虚拟环境 venv
$mkvirtualenv --system-site-packages venv
创建了第二
pip freeze
个在活跃的 venv 内
我预计差异是相同的,但存在许多差异。
我相信所有 Python 和相关软件包都是安装有pacman
。我确信所有主要软件包(iPython、Numpy、Pandas、Jupyter、Matplotlib 等)都已通过 Arch 的软件包管理器安装pacman
。由于我昨天才安装系统,因此肯定可能的随着时间的推移,我已经使用 PIP 来处理一些软件包,但我遵循的规则是使用pacman
已安装的软件包来利用 Arch 社区修复不兼容性(而不是使用 Github、PiP 和 Arch 软件包的某种组合)。
如何使用参数来解决 VENV 中不同包的问题--system-site-packages
?
注意。如果我误解了论证的原理,这个问题可能就走错了方向--system-site-packages
。在这种情况下,问题应该是,为什么--system-site-packages
参数没有创建我系统的 Python 包的重复镜像?