如何解决 VENV `--system-site-packages` 无法镜像我的系统的问题?

如何解决 VENV `--system-site-packages` 无法镜像我的系统的问题?

我正在运行 Arch Linux,并希望使用虚拟环境仅安装我用于特定项目的少数 PIP 包,同时继续使用 Arch 的 Python 包。但是,当我创建一个使用参数的新 VENV --system-site-packages(用于访问 Arch 基础 Python 包)时,新的 VENV 并不是非 VENV 环境的完整镜像。

我如何测试这个:

  1. pip freeze我当前安装的Arch 软件包中的 Python

  2. 创建虚拟环境 venv $mkvirtualenv --system-site-packages venv

  3. 创建了第二pip freeze在活跃的 venv 内

  4. 比较使用diff

我预计差异是相同的,但存在许多差异。

我相信所有 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 包的重复镜像?

相关内容