我正在尝试修复我的一个virtualenv -我想将所有已安装的库重置为与生产相匹配的库。
有没有一种快速简单的方法来处理皮普?
我正在尝试修复我的一个virtualenv -我想将所有已安装的库重置为与生产相匹配的库。
有没有一种快速简单的方法来处理皮普?
当前回答
使用pip list或pip freeze的其他答案必须包括——local,否则它还将卸载在公共名称空间中找到的包。
下面是我经常使用的代码片段
pip freeze --local | xargs pip uninstall -y
参考:pip freeze——救命
其他回答
这适用于我的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。
方法一(冷冻)
pip freeze | xargs pip uninstall -y
方法二(附pip表)
pip list | awk '{print $1}' | xargs pip uninstall -y
方法三(使用virtualenv)
virtualenv --clear MYENV
pip uninstall `pip freeze --user`
——user选项防止系统安装的包包含在清单中,从而避免/usr/lib和distutils权限错误。
仅使用pip的跨平台支持:
#!/usr/bin/env python
from sys import stderr
from pip.commands.uninstall import UninstallCommand
from pip import get_installed_distributions
pip_uninstall = UninstallCommand()
options, args = pip_uninstall.parse_args([
package.project_name
for package in
get_installed_distributions()
if not package.location.endswith('dist-packages')
])
options.yes = True # Don't confirm before uninstall
# set `options.require_venv` to True for virtualenv restriction
try:
print pip_uninstall.run(options, args)
except OSError as e:
if e.errno != 13:
raise e
print >> stderr, "You lack permissions to uninstall this package.
Perhaps run with sudo? Exiting."
exit(13)
# Plenty of other exceptions can be thrown, e.g.: `InstallationError`
# handle them if you want to.
使用pip list或pip freeze的其他答案必须包括——local,否则它还将卸载在公共名称空间中找到的包。
下面是我经常使用的代码片段
pip freeze --local | xargs pip uninstall -y
参考:pip freeze——救命