virtualenv 已激活,但 pip freeze 返回所有系统包

virtualenv 已激活,但 pip freeze 返回所有系统包

我使用以下方式安装了 virtualenv:

python -m pip install virtualenv

当我使用此命令创建一个新的环境时:

virtualenv env

然后激活它:

source env/bin/activate

当我输入 pip freeze 时,它​​会返回我已安装的所有 python 包,但是,我尚未在环境中安装任何东西。

注意:我尝试使用 pip 和 apt-get 安装 virtualenv,得到了相同的结果。

答案1

Ubuntuvirtualenv以不同的方式打包。在其他环境中,当您创建新的虚拟环境时,它是空的,而 Ubuntu 会在新创建的虚拟环境中打包许多包。

Anthony Sottile 就此主题制作了一些有趣的视频,还解释了如何不是从 Ubuntu 包管理器获取虚拟环境,而是从头开始获取 - 事实证明,这个视频能够创建内部没有任何包的新虚拟环境。

curl --location --output virtualenv.pyz https://bootstrap.pypa.io/virtualenv.pyz

然后您可以执行python3 virtualenv.pyz venv- 并在这个 venv 中安装 virtualenv。然后将其放在您的路径上。听起来很复杂?这是值得的。

这个最新的虚拟环境比 Ubuntu 软件包中的虚拟环境快 10 倍,并且新虚拟环境内部没有软件包。

我建议观看这个视频...

https://www.youtube.com/watch?v=OXmYKh0eTQ8&ab_channel=anthonywritescode

相关内容