用pip批量更新所有包

p.s在先,事实证明,把电脑里所有的python包一次性更新是吃力不讨好的工作,不过,这是另一回事,如果你一定要这么做,根据http://stackoverflow.com/questions/2720014/upgrading-all-packages-with-pip 提供的方法,有如下,其中我用了pip-tools这一种:

使用pip-tools,注意,win平台下和python3均无效

$ pip install pip-tools
$ pip-review --interactive

使用yolk

$ sudo pip install -U yolk
$ pip install -U `yolk -U | awk '{print $1}' | uniq`

其它纯脚本的举几个例子,均未测试

1,

pip freeze --local | grep -v '^\-e' | cut -d = -f 1  | xargs pip install -U

2,

pip list --outdated | sed 's/(.*//g' | xargs pip install -U

3,

for i in ` pip list|awk -F ' ' '{print $1}'`;do pip install --upgrade $i;done

4,

python -c 'import pip, subprocess; [subprocess.call("pip install -U " + d.project_name, shell=1) for d in pip.get_installed_distributions()]'

最后,如果你想一次性移除所有的包怎么办?

pip freeze | xargs pip uninstall -y
posted @ 2014-05-09 23:41  $walker  阅读(10803)  评论(1编辑  收藏  举报