2024-04-26 01:05:54 发布
网友
是否可以使用^{}同时升级所有Python包?
注意:官方问题跟踪程序中有a feature request用于此。
要升级所有本地包,可以使用^{}:
$ pip install pip-review $ pip-review --local --interactive
pip-review是pip-tools的叉。见@knedlsepp提到的^{} issue。pip-review包可以工作,但是pip-tools包不再工作。
pip-review
pip-tools
pip-review在Windows上工作since version 0.5。
您可以使用以下Python代码。与pip freeze不同,这不会打印警告和修复错误。 对于pip<;10.0.1
pip freeze
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)
还没有内置的标志,但是您可以使用
pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
注:这有无限的潜在变化。我试图保持这个答案简短和简单,但请在评论建议的变化!
在较旧版本的pip中,您可以改用它:
pip
pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
grep将跳过@jawache建议的可编辑(“-e”)包定义。(是的,您可以用sed或awk或perl或……)替换grep+cut。
grep
sed
awk
perl
cut
xargs的-n1标志防止在更新一个包失败时停止所有操作(谢谢@andsens)。
xargs
-n1
要升级所有本地包,可以使用^{} :
pip-review
是pip-tools
的叉。见@knedlsepp提到的^{pip-review
包可以工作,但是pip-tools
包不再工作。pip-review
在Windows上工作since version 0.5。您可以使用以下Python代码。与
pip freeze
不同,这不会打印警告和修复错误。 对于pip<;10.0.1对于pip>;=10.0.1
还没有内置的标志,但是您可以使用
注:这有无限的潜在变化。我试图保持这个答案简短和简单,但请在评论建议的变化!
在较旧版本的
pip
中,您可以改用它:grep
将跳过@jawache建议的可编辑(“-e”)包定义。(是的,您可以用sed
或awk
或perl
或……)替换grep
+cut
。xargs
的-n1
标志防止在更新一个包失败时停止所有操作(谢谢@andsens)。相关问题 更多 >
编程相关推荐