pip 安装及使用
# Python 安装镜像
解决官网下载过慢的问题:
https://registry.npmmirror.com/binary.html?path=python/
# 常用的国内 PyPI 镜像列表
豆瓣 https://pypi.doubanio.com/simple/
网易 https://mirrors.163.com/pypi/simple/
阿里云 https://mirrors.aliyun.com/pypi/simple/
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
2
3
4
顺便提一下,使用镜像源需要注意一个问题:包的版本可能不会及时更新,遇到这种情况可以通过临时换回官方源解决。
官方 PyPI 源的 URL 为 https://pypi.org/simple
(旧的 URL 为 https://pypi.python.org/simple
),下面我们将以豆瓣提供的镜像源为例(URL 为 https://pypi.doubanio.com/simple/
),介绍不同工具更改 PyPI 镜像源的方法:
# pip
临时设置可以通过 -i 选项:
pip install -i https://pypi.doubanio.com/simple/ flask
全局设置有不同的层级和文件位置,以用户全局(per-user)为例,在 Linux & macOS 中,配置需要写到 ~/.pip/pip.conf
文件中;Windows 中,配置文件位置为 %HOMEPATH%\pip\pip.ini
,%HOMEPATH%
即你的用户文件夹,一般为“\Users<你的用户名>”,具体值可以使用 echo %HOMEPATH%
命令查看。
通常你需要手动创建对应的目录和文件,然后写入下面的内容:
[global]
index-url = https://pypi.doubanio.com/simple
[install]
trusted-host = pypi.doubanio.com
2
3
4
附注:按照 pip 文档,上面的配置文件位置是旧(legacy)的配置方式,但是因为比较方便设置,这里沿用了。新的建议是 Linux & macOS 放到 $HOME/.config/pip/pip.conf
,Windows 则放到 %APPDATA%\pip\pip.ini
。具体可以访问 pip 文档配置部分查看。
# Pipenv
警告
由于一系列问题,暂时不考虑继续使用 pipenv。
类似 pip 的 -i
(–index-url)选项,你可以使用 –pypi-mirror
临时设置镜像源地址:
$ pipenv install --pypi-mirror https://pypi.doubanio.com/simple flask
如果想对项目全局(per-project)设置,可以修改 Pipfile 中 [[source]] 小节:
[[source]]
url = "https://pypi.doubanio.com/simple"
verify_ssl = true
name = "douban"
2
3
4
5
另外一种方式是使用环境变量 PIPENV_PYPI_MIRROR
设置(Windows 系统使用 set 命令):
$ export PIPENV_PYPI_MIRROR=https://pypi.doubanio.com/simple
你可以通过把这个环境变量的设置语句写入到终端的配置文件里实现“永久”设置,Linux & macOS 可参考这里,Windows 可参考这里。
# Poetry / Flit
因为 Poetry,Flit 这些工具遵循 PEP 518 创建了一个 pyproject.toml 文件来替代 setup.py、Pipfile 等配置文件,所以我们可以在这个文件里更改 PyPI 源。
使用 Poetry 时,在 pyproject.toml 末尾添加下面的内容来设置自定义镜像源:
[[tool.poetry.source]]
name = "douban"
url = "https://pypi.doubanio.com/simple/"
2
3
目前暂时没有其他方式,未来或许会为 poetry add 命令添加一个相关的设置选项。
同样的,Flit 大概要添加下面这些内容(未测试):
[[tool.flit.source]]
name = "douban"
url = "https://pypi.doubanio.com/simple/"
2
3
# 原文链接
从国内的 PyPI 镜像(源)安装 Python 包 | 李辉的个人网站 (opens new window)
pip 是 Python 包管理工具,该工具提供了对 Python 包的查找、下载、安装、卸载的功能。
目前如果你在 python.org (opens new window) 下载最新版本的安装包,则是已经自带了该工具。
Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。
pip 官网:https://pypi.org/project/pip/ (opens new window)
你可以通过以下命令来判断是否已安装:
pip --version # Python2.x 版本命令 pip3 --version # Python3.x 版本命令
如果你还未安装,则可以使用以下方法来安装:
# 安装
# 专有工具安装
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本 $ sudo python get-pip.py # 运行安装脚本
提示
用哪个版本的 Python 运行安装脚本,pip 就被关联到哪个版本,如果是 Python3 则执行以下命令:
sudo python3 get-pip.py # 运行安装脚本
一般情况 pip 对应的是 Python 2.7,pip3 对应的是 Python 3.x。
# 包管理工具安装
# Ubuntu
部分 Linux 发行版可直接用包管理器安装 pip,如 Debian 和 Ubuntu:
sudo apt-get install python-pip
# CentOS
- 安装扩展源 EPEL。
EPEL (opens new window) 是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。
首先安装 epel 扩展源:
sudo yum -y install epel-release
如果出现问题,可以卸载重装epel-release
:
yum remove epel-release
;- 清空 epel 目录:
rm -rf /var/cache/yum/x86_64/6/epel/
; - 重复上述命令;
- 执行安装
sudo yum -y install python-pip # python3-pip
# 使用
# pip 最常用命令
- 显示版本和路径
pip --version
- 获取帮助
pip --help
- 升级 pip
pip install -U pip
提示
如果这个升级命令出现问题 ,可以使用以下命令:
sudo easy_install --upgrade pip
- 安装包
pip install SomePackage # 最新版本 pip install SomePackage==1.0.4 # 指定版本 pip install 'SomePackage>=1.0.4' # 最小版本
比如我要安装 Django。用以下的一条命令就可以,方便快捷。
pip install Django==1.7
- 升级包-
pip install --upgrade SomePackage
升级指定的包,通过使用==, >=, <=, >, < 来指定一个版本号。
- 卸载包
pip uninstall SomePackage
- 搜索包
pip search SomePackage
- 显示安装包信息
pip show
- 查看指定包的详细信息
pip show -f SomePackage
- 列出已安装的包
pip list
- 查看可升级的包
pip list -o
# pip 升级
- Linux 或 macOS
pip install --upgrade pip # python2.x pip3 install --upgrade pip # python3.x
- Windows 平台升级
python -m pip install -U pip # python2.x python -m pip3 install -U pip # python3.x
# pip 清华大学开源软件镜像站
使用国内镜像速度会快很多:
临时使用:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-package
例如,安装 Django:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Django
如果要设为默认需要升级 pip 到最新的版本 (>=10.0.0) 后进行配置:
pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
2
如果您到 pip 默认源的网络连接较差,临时使用本镜像站来升级 pip:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
# 注意事项
如果 Python2 和 Python3 同时有 pip,则使用方法如下:
Python2:
python2 -m pip install XXX
Python3:
python3 -m pip install XXX
2
3
4
5
6
7
# 问题
- ModuleNotFoundError: No module named 'pip'
(fmp) [root@bogon backend]# pip3 install -r requirements.txt
Traceback (most recent call last):
File "/root/fundmate/backend/fmp/bin/pip3", line 5, in <module>
from pip._internal.cli.main import main
ModuleNotFoundError: No module named 'pip'
(fmp) [root@bogon backend]# python -m ensurepip
2
3
4
5
6
参阅:python - ModuleNotFoundError: No module named 'pip' python3 - Stack Overflow (opens new window)