pip
是一个Python包管理工具,主要是用于安装 PyPI
上的软件包,可以替代 easy_install
工具。
$ curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py $ python get-pip.py
$ sudo yum install python-pip $ sudo apt-get install python-pip
$ pip install -U pip
$ pip install SomePackage [...] Successfully installed SomePackage
$ pip show --files SomePackage Name: SomePackage Version: 1.0 Location: /my/env/lib/pythonx.x/site-packages Files: ../somepackage/__init__.py [...]
$ pip list --outdated SomePackage (Current: 1.0 Latest: 2.0)
$ pip install --upgrade SomePackage [...] Found existing installation: SomePackage 1.0 Uninstalling SomePackage: Successfully uninstalled SomePackage Running setup.py install for SomePackage Successfully installed SomePackage
$ pip uninstall SomePackage Uninstalling SomePackage: /my/env/lib/pythonx.x/site-packages/somepackage Proceed (y/n)? y Successfully uninstalled SomePackage
$ pip install SomePackage # latest version $ pip install SomePackage==1.0.4 # specific version $ pip install 'SomePackage>=1.0.4' # minimum version
Requirements文件
一般记录的是依赖软件列表,通过pip可以一次性安装依赖软件包:
$ pip freeze > requirements.txt $ pip install -r requirements.txt
$ pip list $ pip list --outdated ipython (Current: 1.2.0 Latest: 2.3.0)
$ 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
$ 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)
配置文件: $HOME/.pip/pip.conf
, 举例:
[global] timeout = 60 index-url = http://download.zope.org/ppix [install] ignore-installed = true no-dependencies = yes
对于bash:
$ pip completion --bash >> ~/.profile
对于zsh:
$ pip completion --zsh >> ~/.zprofile
加载此配置文件后,则pip命令支持自动补全功能.
应该尽量使用pip,不要继续使用easy_install.