Python 依赖下载及切换下载源

简介

任何编程语言都有依赖仓库,而 Python 的官方依赖仓库就是 PyPI (Python Package Index)。Python 也提供了官方的工具 pip(package installer for Python)来安装依赖。

安装

pip 工具已经集成在了 Python 官方安装包中,无需额外安装。但如果特殊环境不存在这个工具,可以通过脚本下载。

下载 get-pip.py 脚本。

使用 Python 运行脚本安装。

python get-pip.py

升级

如果 pip 版本有更新需要升级,可以用升级命令更新自己。

python -m pip install --upgrade pip

使用

使用当前 Python 解释器的 pip 工具。由于 pip 本身也是 Python 的一个模块,因此可以使用 -m 参数运行。

python -m pip <pip arguments>

如果只有一个 Python 解释器,可以将 Python 的 bin 加入 Path(使用官方安装包可自动添加),这样就可以直接使用 pip 命令了。

pip --version

安装依赖

使用 install 子命令安装依赖。pip 会根据软件包信息自动安装依赖树(从仓库安装)。

# 安装最新版本
pip install SomePackage

# 安装指定版本
pip install SomePackage==1.0.4

# 安装最低版本
pip install 'SomePackage>=1.0.4'

# 安装依赖的扩展
pip install 'SomePackage[PDF]'

# 安装本地文件
pip install './downloads/SomePackage-1.0.4.tar.gz'

# 安装本地 wheel 包
pip install SomePackage-1.0-py2.py3-none-any.whl

# 安装指定的来源依赖
pip install 'SomeProject@http://my.package.repo/1.2.3.tar.gz'

更新依赖

install 子命令有个 --upgrade 参数用来更新依赖。

pip install --upgrade SomePackage

根据需求清单安装

如果有许多依赖需要安装,可以编写需求清单文件,并使用 -r 参数来安装。

pip install -r requirements.txt

需求清单文件是一个纯文本文件,一般建议使用名称 requirements.txt

它的格式有如下几种(# 开头的行为注释):

# 直接写依赖名称,会安装最新版本
pytest
pytest-cov
beautifulsoup4

# 指定特定的版本
docopt == 0.6.1
pkg3>=1.0,<=2.0
requests [security] >= 2.8.1, == 2.8.* ; python_version < "2.7"

# 引用其他需求清单
-r other-requirements.txt

# 指定一个本地依赖
./downloads/numpy-1.9.2-cp34-none-win32.whl

约束文件

使用 -c 参数可以指定约束文件,约束文件只用于指定依赖的版本,并不安装它们。约束文件可以与需求清单文件相结合,指定需要安装依赖的版本。它的格式和需求清单文件一样。

pip install -c constraints.txt

卸载依赖

使用 uninstall 子命令卸载依赖。

pip uninstall SomePackage

获取已安装的包

使用 list 子命令获取已安装的包列表。

pip list

使用 --outdated 参数获取已过时的包,并查看最新版本。

pip list --outdated
docutils (Current: 0.9.1 Latest: 0.10)
Sphinx (Current: 1.1.2 Latest: 1.1.3)

查看已安装包的详情

使用 show 命令查看已安装的包的详情。

pip show sphinx

搜索包

使用 search 从依赖仓库搜索依赖。

pip search "query"

源管理

官方源包含了最新的依赖包,但是由于在国外,网速往往很慢。我们可以更换为国内的镜像源(一般按天同步),可极大地提升下载速度。

命令行修改

install 子命令有个 -i 参数用于指定依赖源。

pip install -i https://mirrors.aliyun.com/pypi/simple sphinx

配置文件修改

如果需要一劳永逸,可以创建一个配置文件,这样就不用每次在命令中输入了。配置文件的名称为 pip.confpip.ini

Python 有三个层级的配置文件,分别是系统级、用户级和环境级。它们分别在如下位置:

LinuxMacWindows
系统级/etc/pip.conf/Library/Application Support/pip/pip.confWin7 之后 C:\ProgramData\pip\pip.ini
用户级$HOME/.config/pip/pip.conf,为保持兼容性,之前的配置文件 $HOME/.pip/pip.conf 也会被载入优先载入 $HOME/Library/Application Support/pip/pip.conf,然后是 $HOME/.config/pip/pip.conf,为保持兼容性,之前的配置文件 $HOME/.pip/pip.conf 也会被载入%APPDATA%\pip\pip.ini,为保持兼容性,之前的配置文件 %HOME%\pip\pip.ini 也会被载入
环境级$VIRTUAL_ENV/pip.conf$VIRTUAL_ENV/pip.conf%VIRTUAL_ENV%\pip.ini

新配置文件会覆盖旧的配置文件中的值。

另外,还可以使用 PIP_CONFIG_FILE 环境变量来指定配置文件的路径。

配置文件的优先级从低到高为:系统级 < 用户级 < 环境级 < PIP_CONFIG_FILE 环境变量,高优先级可覆盖低优先级中的配置。

文件中使用 index-url 指定源。

[global]
index-url = https://mirrors.aliyun.com/pypi/simple

指定环境变量

另一种方式是指定环境变量 PIP_INDEX_URL,这样 pip 运行时会尝试获取这个环境变量的值,如有则作为默认源。

PIP_INDEX_URL=https://mirrors.aliyun.com/pypi/simple pip install requests

常用的国内源

  • 25
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值