我正在尝试修复我的一个virtualenv -我想将所有已安装的库重置为与生产相匹配的库。
有没有一种快速简单的方法来处理皮普?
我正在尝试修复我的一个virtualenv -我想将所有已安装的库重置为与生产相匹配的库。
有没有一种快速简单的方法来处理皮普?
当前回答
(添加这个作为答案,因为我没有足够的声誉来评论@blueberryfields的回答)
@blueberryfields的答案工作得很好,但如果没有包可以卸载(如果这个“卸载全部”是脚本或makefile的一部分,这可能是一个问题)。当使用GNU版本的xargs时,这个问题可以用xargs -r来解决:
pip freeze --exclude-editable | xargs -r pip uninstall -y
来自man xargs:
- r, no-run-if-empty 如果标准输入中不包含非空字符,请不要执行该命令。通常情况下,该命令即使存在也只运行一次 没有输入。这个选项是一个GNU扩展。
其他回答
在Windows的命令Shell中,pip freeze | xargs pip uninstall -y命令不起作用。所以对于那些使用Windows的人,我想出了另一种方法。
将pip freeze命令中所有已安装的pip包的名称复制到一个.txt文件中。 然后,找到。txt文件所在的位置,运行pip uninstall -r *textfile.txt*命令
这是对我有用的命令:
pip list | awk '{print $1}' | xargs pip uninstall -y
pip3 freeze --local | xargs pip3 uninstall -y
情况可能是必须多次运行此命令才能获得空pip3 freeze—local。
在Windows上,如果你的路径配置正确,你可以使用:
pip freeze > unins && pip uninstall -y -r unins && del unins
我使用——user选项卸载安装在用户站点上的所有包。
pip3 freeze --user | xargs pip3 uninstall -y