我正在尝试修复我的一个virtualenv -我想将所有已安装的库重置为与生产相匹配的库。
有没有一种快速简单的方法来处理皮普?
我正在尝试修复我的一个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 list或pip freeze的其他答案必须包括——local,否则它还将卸载在公共名称空间中找到的包。
下面是我经常使用的代码片段
pip freeze --local | xargs pip uninstall -y
参考:pip freeze——救命
方法一(冷冻)
pip freeze | xargs pip uninstall -y
方法二(附pip表)
pip list | awk '{print $1}' | xargs pip uninstall -y
方法三(使用virtualenv)
virtualenv --clear MYENV
对于Windows用户,这是我在Windows PowerShell上使用的
pip uninstall -y (pip freeze)
我做到了以下几点:
用当前安装的包列表创建名为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)。
为什么不直接用rm -r。venv重新开始呢?