我正在尝试修复我的一个virtualenv -我想将所有已安装的库重置为与生产相匹配的库。
有没有一种快速简单的方法来处理皮普?
我正在尝试修复我的一个virtualenv -我想将所有已安装的库重置为与生产相匹配的库。
有没有一种快速简单的方法来处理皮普?
当前回答
在Windows上,如果你的路径配置正确,你可以使用:
pip freeze > unins && pip uninstall -y -r unins && del unins
其他回答
在Windows上,如果你的路径配置正确,你可以使用:
pip freeze > unins && pip uninstall -y -r unins && del unins
对于类unix系统应该是类似的情况:
pip freeze > unins && pip uninstall -y -r unins && rm unins
只是一个警告,这不是完全可靠的,因为你可能会遇到诸如“文件未找到”等问题,但它可能在某些情况下仍然有效
编辑:为清晰起见:unins是一个任意文件,当该命令执行时,该文件中写入了数据
然后,它编写的文件被用于通过pip uninstall -y -r unins在隐含同意/事先批准的情况下卸载上述软件包
文件最终在完成时被删除。
方法一(冷冻)
pip freeze | xargs pip uninstall -y
方法二(附pip表)
pip list | awk '{print $1}' | xargs pip uninstall -y
方法三(使用virtualenv)
virtualenv --clear MYENV
我想把这个答案从评论区提升出来,因为它是线程中最优雅的解决方案之一。这个答案完全归功于@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版本。)
就我而言,我意外地在macOS上使用homebrew安装的pip在全球范围内安装了许多软件包。恢复到默认包的最简单方法是:
$ brew reinstall python
或者,如果你使用pip3:
$ brew reinstall python3
我知道这是一个老问题,但我确实偶然发现了它,所以作为将来的参考,你现在可以这样做:
pip uninstall [options] <package> ...
pip uninstall [options] -r <requirements file> ...
-r,——需求文件 卸载给定需求文件中列出的所有包。此选项可多次使用。
来自PIP文档8.1版