1. 程式人生 > >Python包管理工具(pip)

Python包管理工具(pip)

too led -i min date pycuda nts nbsp env

1 前言

pip 是一個Python包管理工具,主要是用於安裝 PyPI 上的軟件包,可以替代 easy_install 工具。

  • GitHub: https://github.com/pypa/pip
  • Doc: https://pip.pypa.io/en/latest/

2 獲取pip

2.1 腳本安裝pip

$ curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py

$ python get-pip.py

2.2 使用包管理軟件安裝

$ sudo yum install python-pip

$ sudo apt-get install python-pip

2.3 更新pip

$ pip install -U pip

3 pip基本使用

3.1 安裝PyPI軟件

$ pip install SomePackage

  [...]
  Successfully installed SomePackage

3.2 查看具體安裝文件

$ pip show --files SomePackage

  Name: SomePackage
  Version: 1.0
  Location: /my/env/lib/pythonx.x/site-packages
  Files:
   ../somepackage/__init__.py
   [...]

3.3 查看哪些軟件需要更新

$ pip list --outdated

  SomePackage (Current: 1.0 Latest: 2.0)

3.4 升級軟件包

$ pip install --upgrade SomePackage

  [...]
  Found existing installation: SomePackage 1.0
  Uninstalling SomePackage:
    Successfully uninstalled SomePackage
  Running setup.py install for SomePackage
  Successfully installed SomePackage

3.5 卸載軟件包

$ pip uninstall SomePackage

  Uninstalling SomePackage:
    /my/env/lib/pythonx.x/site-packages/somepackage
  Proceed (y/n)? y
  Successfully uninstalled SomePackage

4 pip簡明手冊

4.1 安裝具體版本軟件

$ pip install SomePackage            # latest version
$ pip install SomePackage==1.0.4     # specific version
$ pip install ‘SomePackage>=1.0.4‘     # minimum version

4.2 Requirements文件安裝依賴軟件

Requirements文件 一般記錄的是依賴軟件列表,通過pip可以一次性安裝依賴軟件包:

$ pip freeze > requirements.txt

$ pip install -r requirements.txt

4.3 列出軟件包清單

$ pip list

$ pip list --outdated

ipython (Current: 1.2.0 Latest: 2.3.0)

4.4 查看軟件包信息

$ pip show pip
---
Name: pip
Version: 1.4.1
Location: /Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg
Requires:

$ pip show pyopencl
---
Name: pyopencl
Version: 2014.1
Location: /Library/Python/2.7/site-packages
Requires: pytools, pytest, decorator

4.5 搜尋

$ pip search pycuda

pycuda                    - Python wrapper for Nvidia CUDA
pyfft                     - FFT library for PyCuda and PyOpenCL
cudatree                  - Random Forests for the GPU using PyCUDA
reikna                    - GPGPU algorithms for PyCUDA and PyOpenCL
compyte                   - A common set of compute primitives for PyCUDA and PyOpenCL (to be created)

4.6 配置文件

配置文件: $HOME/.pip/pip.conf, 舉例:

[global]
timeout = 60
index-url = http://download.zope.org/ppix

[install]
ignore-installed = true
no-dependencies = yes

4.7 命令行自動補全

對於bash:

$ pip completion --bash >> ~/.profile

對於zsh:

$ pip completion --zsh >> ~/.zprofile

加載此配置文件後,則pip命令支持自動補全功能.

5 後記

應該盡量使用pip,不要繼續使用easy_install.

Python包管理工具(pip)