一、Python包管理工具简介
1. setuptools
setuptools 是管理 Python 第三方包的工具,默认将包安装到 site-package 下,安装的包后缀一般为 .egg,实际为 ZIP 格式。默认从 http://pypi.python.org/pypi 下载包,能够解决 Python 包的依赖关系;安装了 setuptools 之后即可用 easy_install 命令安装包,有多种安装方式可以选择。
2. pip
pip 也是一个 Python 的包管理工具,它和 setuptools 类似,但是 pip 比 setuptools 更好用,现在安装 Python 包基本都是使用 pip 了。如果使用 virtualenv 工具,会自动安装一个 pip。
二、Python包管理工具安装
1. Python 2.7 安装 setuptools
1 |
$ yum install python-setuptools |
或
1 2 3 4 |
$ tar xvf setuptools-7.0.tar.gz $ cd setuptools-7.0 $ python2.7 setup.py install $ ln -s /usr/local/python27/bin/easy_install /usr/local/bin/easy_install |
2. Python 2.7 安装 pip
1 |
$ easy_install pip |
或
1 |
$ yum install python-pip |
或
1 2 3 4 5 6 |
$ wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate $ tar xvf pip-1.5.4.tar.gz $ cd pip-1.5.4 $ python2.7 setup.py build $ python2.7 setup.py install $ ln -s /usr/local/python27/bin/pip /usr/local/bin/pip |
2.1 pip 使用帮助
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# pip --help Usage: pip <command> [options] Commands: install #安装包 download #下载包 uninstall #卸载包 freeze #按着一定格式输出已安装包列表 list #列出已安装包 show #显示包详细信息 search #搜索包,类似yum里的search wheel #Build wheels from your requirements hash #计算软件包归档HASH.completion completion #A helper command used for command completion help #当前帮助 General Options: -h, --help #显示帮助 --isolated #运行pip在一个隔离模式,忽略环境变量和用户配置 -v, --verbose #更多的输出,最多可以使用3次 -V, --version #现实版本信息然后退出 -q, --quiet #最少的输出 --log <path> #追加记录verbose输出的日志 --proxy <proxy> #指定安装包代理地址 --retries <retries> #最大尝试连接次数,默认5次 --timeout <sec> #连接超时时间,默认15秒 --cache-dir <dir> #指定缓存目录 --no-cache-dir #关闭缓存 --exists-action <action> #路径已存在的默认操作:(s)witch, (i)gnore, (w)ipe, (b)ackup --cert <path> #Path to alternate CA bundle --client-cert <path> #SSL客户端证书路径,包含私钥和pem格式的证书 --disable-pip-version-check #不要定期检查pypi以确定是否可以下载新版本的pip |
2.2 pip 使用实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# 搜索包; $ pip search redis # 安装redis包; $ pip install redis # 安装指定版本; $ pip install redis==2.10.5 # 升级包; $ pip install --upgrade pip # 查看redis驱动信息; $ pip show redis # 卸载redis驱动; $ pip uninstall redis # 列出所有安装包; $ pip list # 列出待更新包; $ pip list --outdate |
这里特别关注一下 install 命令,查看一下帮助:pip help install
1 2 3 4 5 6 7 8 9 |
$ pip help install Usage: pip install [options] <requirement specifier> [package-index-options] ... pip install [options] -r <requirements file> [package-index-options] ... pip install [options] [-e] <vcs project url> ... pip install [options] [-e] <local project path> ... pip install [options] <archive url/path> ... ........ |
下面说几个重要参数:
升级一个软件包。
1 |
$ pip install --upgrade pip |
批量安装软件包,使用 -r 指定一个文本,在文本中指定软件包名称,也可以指定软件包版本。
1 |
$ pip install -r requirements.txt |
修改 pip 的镜像地址。
1 |
$ pip install -i https://mirrors.aliyun.com/pypi/simple/ redis |
由于某些不可抗因素,Python 官方的包在国内有时无法访问或出现网络不稳定现象。为了解决这个问题就需要将Pip中自带的源地址修改为镜像地址。
目前收集的比较好的镜像地址有:
如果不适用加密方式访问的话就需要指定信任此主机。
1 |
$ pip install --trusted-host mirrors.aliyun.com -i http://mirrors.aliyun.com/pypi/simple/ redis |
2.3 pip 配置文件
另外,pip 支持配置文件 pip.conf,可以创建在 /etc/pip.conf,或者在 ~/.pip/pip.conf。
1 2 3 4 5 |
$ cat /etc/pip.conf [global] timeout = 60 trusted-host=mirrors.aliyun.com index-url=http://mirrors.aliyun.com/pypi/simple/ |
先说这么多吧,更多的参数使用可以看 pip help [command]。