我正在尝试修复我的一个virtualenv -我想将所有已安装的库重置为与生产相匹配的库。

有没有一种快速简单的方法来处理皮普?


当前回答

pip3 freeze --local | xargs pip3 uninstall -y

情况可能是必须多次运行此命令才能获得空pip3 freeze—local。

其他回答

pip3 freeze --local | xargs pip3 uninstall -y

情况可能是必须多次运行此命令才能获得空pip3 freeze—local。

我想把这个答案从评论区提升出来,因为它是线程中最优雅的解决方案之一。这个答案完全归功于@joeb。

pip uninstall -y -r <(pip freeze)

这对于我在virtualenv上下文之外清除我的用户包文件夹的用例非常有用,上面的许多答案都不能处理。

编辑:有人知道如何使这个命令在Makefile中工作吗?

额外好处:bash别名

为了方便起见,我把这个添加到我的bash配置文件中:

alias pipuninstallall="pip uninstall -y -r <(pip freeze)"

然后运行:

pipuninstallall

Pipenv的替代方案

如果你正在使用pipenv,你可以运行:

pipenv uninstall --all

诗歌的替代品

如果你正在使用诗歌,运行:

poetry env remove --python3.9

(请注意,您需要更改那里的版本号,以匹配您的Python版本。)

我做到了以下几点:

用当前安装的包列表创建名为reqs.txt的需求文件

pip freeze > reqs.txt

然后卸载reqs.txt中的所有包

# -y means remove the package without prompting for confirmation
pip uninstall -y -r reqs.txt

我喜欢这种方法,因为如果你犯了错误,你总是有一个pip需求文件可以依靠。它也是可重复的,而且是跨平台的(Windows、Linux、MacOs)。

如果你正在使用pew,你可以使用wipeenv命令:

皮尤wipeenv[环境]

这是对我有用的命令:

pip list | awk '{print $1}' | xargs pip uninstall -y