我正在尝试修复我的一个virtualenv -我想将所有已安装的库重置为与生产相匹配的库。
有没有一种快速简单的方法来处理皮普?
我正在尝试修复我的一个virtualenv -我想将所有已安装的库重置为与生产相匹配的库。
有没有一种快速简单的方法来处理皮普?
当前回答
我找到了这个片段作为替代解决方案。这是一个比重做virtualenv更优雅的删除库:
pip freeze | xargs pip uninstall -y
如果你有通过VCS安装的包,你需要排除这些行并手动删除包(从下面的注释中提升):
pip freeze | grep -v "^-e" | xargs pip uninstall -y
如果你有直接从github/gitlab安装的包,这些包将有@。 如:
django @ git+https://github.com/django.git@<sha>
您可以添加cut -d "@" -f1来获得卸载所需的包名。
pip freeze | cut -d "@" -f1 | xargs pip uninstall -y
其他回答
我找到了这个片段作为替代解决方案。这是一个比重做virtualenv更优雅的删除库:
pip freeze | xargs pip uninstall -y
如果你有通过VCS安装的包,你需要排除这些行并手动删除包(从下面的注释中提升):
pip freeze | grep -v "^-e" | xargs pip uninstall -y
如果你有直接从github/gitlab安装的包,这些包将有@。 如:
django @ git+https://github.com/django.git@<sha>
您可以添加cut -d "@" -f1来获得卸载所需的包名。
pip freeze | cut -d "@" -f1 | xargs pip uninstall -y
方法一(冷冻)
pip freeze | xargs pip uninstall -y
方法二(附pip表)
pip list | awk '{print $1}' | xargs pip uninstall -y
方法三(使用virtualenv)
virtualenv --clear MYENV
从虚拟环境中删除所有包的最佳方法。
Windows PowerShell:
pip freeze > unins ; pip uninstall -y -r unins ; del unins
Windows命令提示符:
pip freeze > unins && pip uninstall -y -r unins && del unins
Linux:
pip3 freeze > unins ; pip3 uninstall -y -r unins ; rm unins
就我而言,我意外地在macOS上使用homebrew安装的pip在全球范围内安装了许多软件包。恢复到默认包的最简单方法是:
$ brew reinstall python
或者,如果你使用pip3:
$ brew reinstall python3
我只是想删除由项目安装的包,而不是我已经安装的其他包(比如neovim, mypy和pudb,我用于本地开发,但不包括在应用程序要求中)。于是我做了:
Cat requirements.txt| sed 's/=。*//g' | xargs PIP卸载-y
这对我来说很有效。