gpt4 book ai didi

python - pip freeze > requirements.txt 包括 virtualenv 中的所有系统安装包

转载 作者:行者123 更新时间:2023-11-28 20:04:00 27 4
gpt4 key购买 nike

一些背景故事,我对 Python 和一般开发还比较陌生,并且一直愚蠢地将项目特定的包安装为系统包。现在,当我尝试在 virtualenvs 中为特定项目创建 requirements.txt 文件时,这会导致我出现问题。

例如,我在系统范围内安装了 Kivy,每次我使用需求文件创建一个新环境时,我都会得到以下信息(是的,环境是事件的):

$ pip freeze > requirements.txt
$ cat requirements.txt
Kivy==1.9.1
Pillow==2.6.1
Pygments==2.0.1
chardet==2.3.0
colorama==0.3.2
docutils==0.12
html5lib==0.999
kazam==1.4.5
pygobject==3.14.0
python-apt==0.9.3.12
python-debian==0.1.27
pyxdg==0.25
requests==2.4.3
roman==2.0.0
six==1.8.0
urllib3==1.9.1
wheel==0.24.0

我也试过卸载 Kivy,除此之外(在这里尽量谨慎,不想删除重要的操作系统包)但得到以下输出:

$ pip uninstall kivy 
Not uninstalling Kivy at /usr/lib/python3/dist-packages, owned by OS

所以我的问题是:我怎样才能让我的 python 包恢复到默认值,只安装必要的系统包(几乎像一个新的 python 安装),然后我如何防止 virtualenv 中的 requirements.txt 文件,包括系统范围安装的包(我'将来会更好地使用 evn,所以不应该有太多系统范围的包)

我也有兴趣找出为什么 pip unistall kivy 不起作用(是的,我也试过以 root 身份运行它)

运行 Debian 8,如果这有什么不同的话

希望这是有道理的,感谢您的任何建议。

编辑:所以我认为我做错了整件事,一旦我创建了环境,我就一直在使用 pip install 而不是 env/bin/pip install 。除非我弄错了,否则这就是软件包在全局范围内安装的原因。需求文件也是如此。

最佳答案

您可以使用 -l(或 --local)参数在每个 virtualenv 中只卡住您的本地包

pip freeze --local > requirements.txt 

关于python - pip freeze > requirements.txt 包括 virtualenv 中的所有系统安装包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38398154/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com