pip 使用詳解
1、pip下載安裝
1.1 pip下載
# wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate
1.2 pip安裝
# tar -xzvf pip-1.5.4.tar.gz
# cd pip-1.5.4
# python setup.py install
2. pip使用詳解
2.1 pip安裝包
# pip install SomePackage
[...]
Successfully installed SomePackage
2.2 pip查看已安裝的包
# pip show --files SomePackage
Name: SomePackage
Version: 1.0
Location: /my/env/lib/pythonx.x/site-packages
Files:
../somepackage/__init__.py
[...]
2.3 pip檢查哪些包需要更新
# pip list --outdated
SomePackage (Current: 1.0 Latest: 2.0)
2.4 pip升級包
# pip install --upgrade SomePackage
[...]
Found existing installation: SomePackage 1.0
Uninstalling SomePackage:
Successfully uninstalled SomePackage
Running setup.py install for SomePackage
Successfully installed SomePackage
下面的指令一次升級所有的套件了:
for component in $(pip freeze | awk -F= '{print $1}' | egrep -v "#"); do sudo pip install --upgrade "$component"; done
2.5 pip卸載包
$ pip uninstall SomePackage
Uninstalling SomePackage:
/my/env/lib/pythonx.x/site-packages/somepackage
Proceed (y/n)? y
Successfully uninstalled SomePackage
3. pip使用實例
3.1 安裝redis
# pip install redis
3.2 卸載redis
# pip uninstall redis
Uninstalling redis:
/usr/lib/python2.6/site-packages/redis-2.9.1-py2.6.egg-info
.....省略一些內容....
Proceed (y/n)? y
Successfully uninstalled redis
3.3 查看待更新包
pip list --outdate
pygpgme (Current: 0.1 Latest: 0.3)
pycurl (Current: 7.19.0 Latest: 7.19.3.1)
iniparse (Current: 0.3.1 Latest: 0.4)
4. 常見錯誤
4.1 ImportError No module named setuptools
請參考《ImportError No module named setuptools解決》
5. pip參數解釋
# pip --help
Usage:
pip <command> [options]
Commands:
install 安裝包.
uninstall 卸載包.
freeze 按著一定格式輸出已安裝包列表
list 列出已安裝包.
show 顯示包詳細信息.
search 搜索包,類似yum裡的search.
wheel Build wheels from your requirements.
zip 不推薦. Zip individual packages.
unzip 不推薦. Unzip individual packages.
bundle 不推薦. Create pybundles.
help 當前幫助.
General Options:
-h, --help 顯示幫助.
-v, --verbose 更多的輸出,最多可以使用3次
-V, --version 現實版本信息然後退出.
-q, --quiet 最少的輸出.
--log-file <path> 覆蓋的方式記錄verbose錯誤日誌,默認文件:/root/.pip/pip.log
--log <path> 不覆蓋記錄verbose輸出的日誌.
--proxy <proxy> Specify a proxy in the form [user:passwd@]proxy.server:port.
--timeout <sec> 連接超時時間 (默認15秒).
--exists-action <action> Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup.
--cert <path> 證書.