一旺遮、常用命令
pip 是首選的Python包管理工具陨界,主要用于安裝 PyPI 上托管的軟件包(第三方庫顿痪、應(yīng)用镊辕、框架等),用于替代老版的 easy_install 工具蚁袭。在Python3的開發(fā)中應(yīng)該盡量使用pip征懈,不要繼續(xù)使用 easy_install。
從 Python 3.4 開始揩悄,Python默認(rèn)內(nèi)置了pip (import pip)卖哎。,但是你可以執(zhí)行下面的命令升級pip:
$ pip install -U pip
1删性、使用 install 命令安裝包:
1.1 安裝PyPI包
$ pip install SomePackage # 安裝最新版本
$ pip install SomePackage==1.0.4 # 安裝指定版本
$ pip install 'SomePackage>=1.0.4' # 指定安裝的最小版本
使用 requirement.txt 需求文件
可以將要安裝的數(shù)據(jù)包也就是將 install 命令后面的參數(shù)都寫入 requirement.txt
文件中亏娜,使用 -r
選項(xiàng)一次性全部安裝。requirements.txt 文件的每一行都要表明安裝的內(nèi)容蹬挺,而且盡量不要依賴文件中指定包的前后安裝順序维贺。
$ pip install -r requirements.txt
可以將 pip freeze
列出的包寫入到 requirement.txt 文件中,以便在其他系統(tǒng)中安裝巴帮。
$ pip freeze > requirements.txt
$ pip install -r requirements.txt
1.2 安裝 wheel 包
wheel本質(zhì)上是一個 zip 包格式溯泣,用于 python 模塊的安裝,它的出現(xiàn)是為了替代 老版本的Eggs榕茧。pip也可以直接安裝wheel包垃沦。如果發(fā)布模塊,推薦使用 wheel 格式用押。
$ pip install SomePackage-1.0-py2.py3-none-any.whl
1.3 安裝本地包
$ pip install -e . # 項(xiàng)目在當(dāng)前目錄
$ pip install -e path/to/project # 指定項(xiàng)目的目錄路徑
1.4 從服務(wù)器托管的包中安裝
$ pip install -e git+https://git.repo/some_pkg.git#egg=SomePackage # 從git安裝
$ pip install -e svn+svn://svn.repo/some_pkg/trunk/#egg=SomePackage # 從svn安裝
$ pip install -e git+https://git.repo/some_pkg.git@feature#egg=SomePackage # 從一個分支安裝
$ pip install -e "git+https://git.repo/some_repo.git#egg=subdir&subdirectory=subdir_path" # install a python package from a repo subdirectory
從其他的索引中(除了PyPI)安裝:
$ pip install --index-url http://my.package.repo/simple/ SomePackage
在安裝期間搜索其他的索引(除了PyPI):
$ pip install --extra-index-url http://my.package.repo/simple SomePackage
1.5 升級軟件包
pip在升級軟件包之前會自動卸載舊的軟件包
$ pip install -U|--upgrade SomePackage
2肢簿、查看安裝的包
2.1 使用 freeze 格式化輸出安裝的包:
$ pip freeze
2.2 使用 list 命令查看安裝的第三方包
$ pip list [--fromat (legacy|columns)]
查看哪些軟件需要更新(列出過時的包):
$ pip list -o|--outdated
2.3 使用 show 命令查看安裝的包的詳細(xì)信息:
$ pip show SomePackage
查看安裝包的具體安裝文件
$ pip show -f|--files SomePackage
3、使用 uninstall 命令卸載軟件包
$ pip uninstall Django
也可以像安裝包一樣,將要卸載的包寫入到 uninstall.txt 文件中译仗,然后使用 -r 參數(shù)抬虽,一次性卸載。
4纵菌、使用 download 命令下載軟件包
$ pip download Django
5阐污、使用 search 命令在PyPI倉庫中搜索軟件包
$ pip search Django
6、使用 help 命令查看pip的幫助手冊
$ pip help
也可以訪問官方的站點(diǎn):
https://pip.pypa.io/en/stable/reference/
二咱圆、 配置文件
pip允許你在標(biāo)準(zhǔn)的ini配置文件中設(shè)置所有命令選項(xiàng)的默認(rèn)笛辟,配置文件的名稱和路徑,在不同的平臺并不相同序苏,你可能有針對系統(tǒng)的手幢、用戶的以及虛擬環(huán)境的配置。
針對系統(tǒng)的配置文件:
在Unix平臺忱详,配置文件的位置可能是 /etc/pip.conf
围来,或者它可能是環(huán)境變量 XDG_CONFIG_DIRS
中設(shè)置的路徑 pip 路徑的子目錄 。
針對用戶的配置文件:
在Unix平臺匈睁,默認(rèn)的配置文件是 $HOME/.config/pip/pip.conf
监透,這個路徑取決于
XDG_CONFIG_HOME
環(huán)境變量的值。有一個早些版本使用的位置:$HOME/.pip/pip.conf
航唆,也是可以使用的胀蛮。
你也可以在環(huán)境變量 PIP_CONFIG_FILE
中自定義一個路徑。
針對虛擬環(huán)境:
在Unix平臺糯钙,默認(rèn)的配置文件是 $VIRTUAL_ENV/pip.conf
如果由pip找到多個配置文件粪狼,那么它們將按以下順序組合:
首先,站點(diǎn)范圍的文件被讀取
然后任岸,讀取每個用戶的文件
最后再榄,特定于virtualenv的文件被讀取
后面配置文件的讀取覆蓋會覆蓋前面的文件讀取的值,所以如果在系統(tǒng)的配置文件和用戶的配置文件中的超時時間參數(shù)都設(shè)定了享潜,那么使用用戶配置文件中的值不跟。
設(shè)置參數(shù)的名字來自于命令行的選項(xiàng),例如:你想要使用不同的包的索引 (--index-url) 并設(shè)置http的超時時間 (--default-timeout)為60s:
[global]
timeout = 60
index-url = http://download.zope.org/ppix
任何子命令都可以在它自己的部分被設(shè)置米碰,這個時候同名的全局的設(shè)置會被覆蓋。例如:減少freeze命令的超時時間到10s购城,其他的命令的超時時間為60s吕座。
[global]
timeout = 60
[freeze]
timeout = 10
命令行自動補(bǔ)全
在bash、zsh和fish中瘪板,pip支持命令行補(bǔ)全吴趴。
bash:
$pip completion --bash >> ~/.profile
同樣的,你也可以在shell中直接使用eval函數(shù)和completion命令:
$ eval "`pip completion --bash`"
更多的配置參數(shù)可以參考官方文檔:
https://pip.pypa.