Python - 升级所有已安装的第三方包
我们有时候需要把系统上已经安装的第三方的packages升级到最新版。但是easy_install和pip都没有直接的命令可以使用。
我们可以是用如下命令来查看系统上面哪些包过期了。
pip list --outdated
其实能这样列表出来后我们就可以配合其他shell命令来完成升级了。
pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs pip install –U
或者执行一下命令:
pip list --outdated | grep '^[a-z]* (' | cut -d " " -f 1 | xargs pip install -U
剩下的就是等下载完成即可了。
前提是已经安装了pip,pip安装之前需要安装setuptools。
- 下载setuptools,地址: https://pypi.python.org/packages/source/s/setuptools/setuptools-7.0.zip
- 解压
- 命令行或者shell进入解压的目录中执行:python setup.py install 。在linux下面主要执行命令的时候需要sudo
- 安装pip。执行如下命令:easy_install pip 。 同样需要注意sudo
另外一种解决方式:pip freeze --local | grep -v'^\-e' | cut -d = -f1 | xargs pip install -U
建议在执行前先执行:
pip install -U distribute
补充:
由于使用了mysql-connector-python的包,在安装时要使用 --allow-external mysql-connector-python 参数,所以在升级时,也应该加上该参数,命令行为:
pip install -U distribute && pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs pip install -U --allow-external mysql-connector-python
python安装easy_install和pip
- wget -q http://peak.telecommunity.com/dist/ez_setup.py
- sudo python ez_setup.py
- easy_install 脚本安装之后,最好打开看一下 python解释器的定义,默认写的是
/usr/local/bin/python
, 这有可能是执行系统安装的python2.4
安装pip
pip比easy_install要好用很多,最大优点是支持卸载。它的安装依赖于setuptools,必须先装easy_install
- curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
- [sudo] python get-pip.py
目前Python的版本稳定在2.7和3.3两砣上,开发和部署都尽量选择2.7吧
- wget -q http://peak.telecommunity.com/dist/ez_setup.py
- sudo python ez_setup.py
- easy_install 脚本安装之后,最好打开看一下 python解释器的定义,默认写的是
/usr/local/bin/python
, 这有可能是执行系统安装的python2.4
安装pip
pip比easy_install要好用很多,最大优点是支持卸载。它的安装依赖于setuptools,必须先装easy_install
- curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
- [sudo] python get-pip.py
目前Python的版本稳定在2.7和3.3两砣上,开发和部署都尽量选择2.7吧