Python 3:包管理器 pip 的使用


#Python


安装pip

如果版本号大于等于 2.7.9 Python 2 ,或者版本号大于等于 3.4 的 Python 3,官方安装包自带 pip 。

如果没有,可以按照下面的方法安装:

$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ python3 get-pip.py

Python 2 的安装:

$ python get-pip.py

目前Linux、macOS等操作系统中会默认安装 Python 2,为了区分,Python 3 中的 pip 的名字一般是 pip3,以和 Python 2 的 pip 区分。如果不是,也建议手动 alias 为 pip3。

使用示例

查看 pip 版本

$ pip3 --version

使用 search 查找第三方库

$ pip3 search package_name

查找示例:

$ pip3 search mysql
mysql (0.0.2)                                                   - Virtual package for MySQL-python
weibo-mysql (0.1)                                               - insert mysql
bits-mysql (1.0.3)                                              - BITS MySQL
...... 省略部分内容

使用 install 安装第三方库

安装到默认的第三方库目录:

$ pip3 install package_name

如何在 Linux、macOS 系统上提示权限,可以在前面加上 sudo

安装到用户目录:

$ pip3 install package_name --user

安装示例:

$ pip3 install pycurl --user
Collecting pycurl
  Downloading https://files.pythonhosted.org/packages/ac/b3/0f3979633b7890bab6098d84c84467030b807a1e2b31f5d30103af5a71ca/pycurl-7.43.0.3.tar.gz (215kB)
     |████████████████████████████████| 215kB 10kB/s
Building wheels for collected packages: pycurl
  Building wheel for pycurl (setup.py) ... done
  ......

列出当前安装的所有第三方库

$ pip3 list
Package          Version
---------------- ---------
appnope          0.1.0
asn1crypto       0.24.0
backcall         0.1.0
// 省略部分输出...

list 还有很多用法,可以通过pip3 list -h查看帮助。

常见的用法:

  • 查看不是最新版本的库:pip3 list --outdated
  • 查看用户级的库:pip3 list --user

另外,也可以通过pip3 freeze查看的安装的库,它会以 requirements 格式输出:

$ pip3 freeze
appnope==0.1.0
asn1crypto==0.24.0
// 省略部分输出...

升级 pip

$ pip3 install --upgrade pip

查看某个已安装库的信息

$ pip3 show Jinja2

示例:

$ pip3 show Jinja2
Name: Jinja2
Version: 2.10
Summary: A small but fast and easy to use stand-alone template engine written in pure python.
Home-page: http://jinja.pocoo.org/
Author: Armin Ronacher
Author-email: armin.ronacher@active-4.com
License: BSD
Location: /Users/letian/Library/Python/3.6/lib/python/site-packages
Requires: MarkupSafe
Required-by: Flask

查询某个第三方库有哪些版本

进入 https://pypi.org/ 查询。

安装指定版本的第三方库

如果已经有,先卸载,以pycurl为例子:

$ pip3 show pycurl
Name: pycurl
Version: 7.43.0

$ pip3 uninstall pycurl
Uninstalling pycurl-7.43.0:

$ pip3 install pycurl==7.21.5

更新 pip 本身

$ pip3 install --upgrade pip

解决 ImportError: module 'pip' has no attribute 'main'

在一次升级 pip 失败后,再执行 pip 时候,报错:

...
ImportError: module 'pip' has no attribute 'main'

解决办法是重新安装pip:

  1. https://bootstrap.pypa.io/get-pip.py 下载到本地。
  2. 执行 python get-pip.py 。如果是 python3,则执行 python3 get-pip.py


( 本文完 )