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

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


当前回答

pip uninstall `pip freeze --user`

——user选项防止系统安装的包包含在清单中,从而避免/usr/lib和distutils权限错误。

其他回答

这适用于最新版本。我认为这是最简洁明了的表达方式。

virtualenv --clear MYENV

但是为什么不直接删除并重新创建virtualenv呢?

不变性规则。此外,很难记住所有的管道和其他解决方案使用。

在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 uninstall `pip freeze --user`

——user选项防止系统安装的包包含在清单中,从而避免/usr/lib和distutils权限错误。

就我而言,我意外地在macOS上使用homebrew安装的pip在全球范围内安装了许多软件包。恢复到默认包的最简单方法是:

$ brew reinstall python

或者,如果你使用pip3:

$ brew reinstall python3

这在Windows上很管用:

pip uninstall -y (pip freeze)