如何使用pip升级所有Python包?是否可以一次升级所有Python包pip?注意:官方问题跟踪器上有此功能请求。
3 回答
森栏
TA贡献1810条经验 获得超5个赞
还没有内置标志,但您可以使用
pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
注意:这有无限的潜在变化。我试图保持这个简短而简单的答案,但请在评论中建议变化!
在旧版本中pip
,您可以使用此代码:
pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
的grep
是跳过编辑(“-e”)包的定义,通过@jawache的建议。(是的,你可以取代grep
+ cut
与sed
或awk
或perl
或......)。
如果更新一个包失败-n1
,则xargs
阻止停止所有内容的标志
料青山看我应如是
TA贡献1772条经验 获得超8个赞
您可以使用以下Python代码。与pip freeze
此不同,这不会打印警告和FIXME错误。 对于点数<10.0.1
import pipfrom subprocess import call packages = [dist.project_name for dist in pip.get_installed_distributions()]call("pip install --upgrade " + ' '.join(packages), shell=True)
对于pip> = 10.0.1
import pkg_resourcesfrom subprocess import call packages = [dist.project_name for dist in pkg_resources.working_set]call("pip install --upgrade " + ' '.join(packages), shell=True)
喵喔喔
TA贡献1735条经验 获得超5个赞
升级所有本地包; 你可以使用pip-review
:
$ pip install pip-review $ pip-review --local --interactive
pip-review
是一个分叉pip-tools
。见pip-tools
问题被提到@knedlsepp。pip-review
包工作但pip-tools
包不再有效。
pip-review
自0.5版以来在Windows上运行。
添加回答
举报
0/150
提交
取消