我正在尝试修复我的一个virtualenv -我想将所有已安装的库重置为与生产相匹配的库。
有没有一种快速简单的方法来处理皮普?
我正在尝试修复我的一个virtualenv -我想将所有已安装的库重置为与生产相匹配的库。
有没有一种快速简单的方法来处理皮普?
当前回答
就我而言,我意外地在macOS上使用homebrew安装的pip在全球范围内安装了许多软件包。恢复到默认包的最简单方法是:
$ brew reinstall python
或者,如果你使用pip3:
$ brew reinstall python3
其他回答
对于Windows用户,这是我在Windows PowerShell上使用的
pip uninstall -y (pip freeze)
我找到了这个片段作为替代解决方案。这是一个比重做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
首先,将所有包添加到requirements.txt中
pip freeze > requirements.txt
然后移除所有
pip uninstall -y -r requirements.txt
最快的方法是完全重做virtualenv。我假设你有一个符合生产的requirements.txt文件,如果没有的话:
# On production:
pip freeze > reqs.txt
# On your machine:
rm $VIRTUALENV_DIRECTORY
mkdir $VIRTUALENV_DIRECTORY
pip install -r reqs.txt
这适用于我的windows系统
pip freeze > packages.txt && pip uninstall -y -r packages.txt && del packages.txt
第一部分pip freeze > packages.txt创建一个文本文件,其中包含使用pip安装的包的列表以及版本号
第二部分pip uninstall -y -r packages.txt删除已安装的所有软件包,不需要确认提示。
第三部分del packages.txt删除刚刚创建的packages.txt。