是否可以使用 pip
一次升级所有 Python 包?
注意:官方问题跟踪器上有 一个功能请求。
原文由 thedjpetersen 发布,翻译遵循 CC BY-SA 4.0 许可协议
是否可以使用 pip
一次升级所有 Python 包?
注意:官方问题跟踪器上有 一个功能请求。
原文由 thedjpetersen 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用以下 Python 代码。与 pip freeze
不同,这不会打印警告和 FIXME 错误。 对于 pip < 10.0.1
import pip
from 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_resources
from subprocess import call
packages = [dist.project_name for dist in pkg_resources.working_set]
call("pip install --upgrade " + ' '.join(packages), shell=True)
原文由 user515656 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
2 回答1.9k 阅读✓ 已解决
还没有内置标志,但您可以使用:
对于旧版本的
pip
:正如@jawache 所建议的,
grep
是跳过可编辑(“-e”)包定义。 (Yes, you could replacegrep
+cut
withsed
orawk
orperl
or…) .-n1
标志xargs
防止在更新一个包失败时停止一切(感谢 @andsens )。注意: 这有无限的潜在变化。我试图让这个答案简短而简单,但请在评论中提出变化!