pip 包管理工具

1、python3安装

下载地址:

#安装环境centOS 7

#安装依赖包:

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

#开始安装:

wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
mkdir -p /usr/local/python356
tar zxvf Python-3.6.5.tgz
cd Python-3.6.5
./configure --prefix=/usr/local/python356
make
make install
ln -s /usr/local/python356/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python356/bin/pip3 /usr/local/bin/pip3
pip3 install --upgrade pip  #更新pip
pip3 install ipython  #安装ipython

#一般安装python3.5以上会附加安装了包管理工具setuptools和pip

一、常用命令

pip 是首选的Python包管理工具,主要用于安装 PyPI
上托管的软件包(第三方库、应用、框架等),用于替代老版的 easy_install
工具。在Python3的开发中应该尽量使用pip,不要继续使用 easy_install。
从 Python 3.4 开始,Python默认内置了pip (import
pip)。,但是你可以执行下面的命令升级pip:

$ pip install -U pip

2、安装setuptools包管理工具

下载地址:setuptools-39.2.0.zip

解压安装:

unzip setuptools-39.2.0.zip
cd setuptools-39.2.0
python33 setup.py build #测试环境
python33 setup.py install #安装

错误解决:

RuntimeError: Compression requires the (missing) zlib module

说明缺少zlib和zlib-devel包,
解决方法:

yum install zlib zlib-devel -y
#然后:进入到安装python的源码包目录下(这步很重要)我的是python33.6版本
cd /home/tools/python33.6
make #重新编译
make install #重新安装一下
#然后:进入要安装的setuptool源码目录下:
python33 setup.py install 
#使用新安装的python33.6安装,不要使用系统自带的python安装。

1、使用 install 命令安装包:

3、pip安装使用

(1)下载源码安装

软件包下载地址:pip-10.0.1.tar.gz

wget https://files.pythonhosted.org/packages/ae/e8/2340d46ecadb1692a1e455f13f75e596d4eab3d11a57446f08259dee8f02/pip-10.0.1.tar.gz
tar xf pip-10.0.1.tar.gz
cd pip-10.0.1
python33 setup.py install #安装
ln -sv /usr/local/python33/bin/pip3 /usr/bin/pip3

#如报以下错误请安装setuptools。
ImportError: No module named ‘setuptools’

(2)使用get-pip.py安装

#将get-pip.py下载到本地
#curl -o get-pip.py
#运行命令安装pip,默认get-php.py会安装setuptools和wheel

python33 get-pip.py

#get-pip.py选项
–no-setuptools 不安装setuptools
–no-wheel 不安装wheel

(3)使用linux软件包管理工具安装

#Centos:
sudo yum install python-pip
sudo yum upgrade python-setuptools #升级setuptools
#ubuntu:
sudo apt install python-pip #python2
sudo apt install python3-venv python3-pip #python3

(4)使用pip

#pip命令及选项

Usage:   
  pip3 <command> [options]

Commands:
  install                安装软件包
  download               下载软件包
  uninstall               卸载软件包
  freeze                  到处已安装的软件包
  list                    列出已安装的软件包
  show                    显示软件包的相信信息
  check                   检测软件包的依赖
  config                  管理本地和全局配置
  search                  搜索包
  wheel                   构造wheel文件
  hash                    计算包档案的hash
  completion              命令完成的帮助命令
  help                    显示帮助命令

General Options:
  -h, --help                 显示帮助
  --isolated                 以独立模式运行pip,忽略环境变量和用户配置
  -v, --verbose              详细信息,最多可以使用3次
  -V, --version              显示版本
  -q, --quiet                减少输出
  --log <path>               写入日志文件
  --proxy <proxy>            以[user:passwd @] proxy.server:port的形式指定代理
  --retries <retries>        每个连接应尝试的最大重试次数(默认5次)
  --timeout <sec>            设置套接字超时(默认15秒)
  --exists-action <action>   当路径已经存在时的默认动作: (s)witch, (i)gnore, (w)ipe,(b)ackup, (a)bort).
  --trusted-host <hostname>  将该主机标记为可信,即使它没有有效或任何HTTPS
  --cert <path>              备用CA软件包的路径
  --client-cert <path>       SSL客户端证书路径,包含私钥和PEM格式证书的单个文件
  --cache-dir <dir>          将缓存数据存储在<dir>中
  --no-cache-dir             禁用缓存
  --disable-pip-version-check
                             不要定期检查PyPI以确定是否可以下载新版本的pip

  --no-color                 显示彩色输出

#pip安装、升级、卸载包

#在linux或MacOS上:
pip install -U pip #升级pip

#在windows上:
python -m pip install -U pip

#安装包:
pip install SomePackage 
pip install SomePackage==1.0.4 
pip install 'SomePackage>=1.0.4'

#在指定的文件需求中安装包:
pip freeze 查看已安装的包,可以导出为requirements.txt文件中
pip install -r requirements.txt

#将某个包升级到最新版本:
pip install --upgrade somepackage

#查找发行版和开发版安装包
pip install --pre somepackage

#wheel安装软件包
pip wheel --wheel-dir=/local/wheels -r requirements.txt

#卸载软件包
pip uninstall somepackage

#列出已安装的软件包
pip list

#列出过时的软件包并显示最新版本
pip list --outdated

#显示已安装软件包的相信信息
pip show sphinx

#搜索软件包
pip search "requests"

 #更换国内pip源

pip允许使用标准的ini样式配置文件中设置所有的命令行选项默认值,pip配置文件可以在以下地方,有系统和环境的区分,如virtualenv和站点配置,其中站点配置是所有用户之间共享的:

每个用户:

  • 在Unix上,默认配置文件是:$HOME/.config/pip/pip.conf 它尊重XDG_CONFIG_HOME环境变量。
  • 在macOS上,配置文件 是否存在其他目录。$HOME/Library/ApplicationSupport/pip/pip.conf``$HOME/Library/ApplicationSupport/pip``$HOME/.config/pip/pip.conf
  • 在Windows上,配置文件是%APPDATA%pippip.ini

传统的每个用户配置文件路径也是可用的,它位于:

  • 在Unix和MacOS上,配置文件是: $HOME/.pip/pip.conf
  • 在Windows上,配置文件是: %HOME%pippip.ini

在virtualenv上:

  • 在Unix和MacOS上,文件是 $VIRTUAL_ENV/pip.conf
  • 在Windows上,该文件是: %VIRTUAL_ENV%pip.ini

在整个站点上,也就是全局配置:

  • 在Unix上,该文件可能位于/etc/pip.conf。或者,它可能位于环境变量XDG_CONFIG_DIRS(如果存在)中 设置的任何路径的“pip”子目录中/etc/xdg/pip/pip.conf
  • 在macOS上,该文件是: /Library/ApplicationSupport/pip/pip.conf
  • 在Windows
    XP上,该文件是: C:Documents andSettingsAll UsersApplication Datapippip.ini
  • 在Windows
    7及更高版本中,该文件被隐藏,但可以在此处写入 C:ProgramDatapippip.ini

如果通过pip找到多个配置文件,那么它们按以下顺序查找,前面的配置将被后面查找的配置覆盖使用:

  1. 首先读取站点范围的文件,然后
  2. 读取每个用户文件,最后
  3. 读取virtualenv专用文件。

例如配置国内douan的pip源:

[global]
timeout=60
index-url=http://pypi.douban.com/simple

[install]  #设置信任此站点
trusted-host=http://pypi.douban.com

#其他的源

阿里云 
中国科技大学 
豆瓣 
Python官方 
v2ex 
中国科学院 
清华大学 


 

1.1 安装PyPI包

$ pip install SomePackage            # 安装最新版本
$ pip install SomePackage==1.0.4     # 安装指定版本
$ pip install 'SomePackage>=1.0.4'     # 指定安装的最小版本

clipboard.png

使用 requirement.txt 需求文件

可以将要安装的数据包也就是将 install 命令后面的参数都写入
requirement.txt 文件中,使用 -r 选项一次性全部安装。requirements.txt
文件的每一行都要表明安装的内容,而且尽量不要依赖文件中指定包的前后安装顺序。

$ pip install -r requirements.txt

clipboard.png

可以将 pip freeze 列出的包写入到 requirement.txt
文件中,以便在其他系统中安装。

$ pip freeze > requirements.txt
$ pip install -r requirements.txt

1.2 安装 wheel 包

wheel本质上是一个 zip 包格式,用于 python 模块的安装,它的出现是为了替代
老版本的Eggs。pip也可以直接安装wheel包。如果发布模块,推荐使用 wheel
格式。

$ pip install SomePackage-1.0-py2.py3-none-any.whl

clipboard.png

1.3 安装本地包

$ pip install -e .                     # 项目在当前目录
$ pip install -e path/to/project       # 指定项目的目录路径

1.4 从服务器托管的包中安装

$ 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

clipboard.png

2、查看安装的包

2.1 使用 freeze 格式化输出安装的包:

$ pip freeze 

clipboard.png

2.2 使用 list 命令查看安装的第三方包

$ pip list [--fromat (legacy|columns)]

clipboard.png

clipboard.png

clipboard.png

发表评论

电子邮件地址不会被公开。 必填项已用*标注