前言

pip安装本身很简单官方推荐的安装方法就一条命令,但离线安装pip时就有点痛苦了,因为不知道缺少什么依赖包。有时候我们下载python的第三方库入django的时候pip install django 或者 easy_install django 发现下载的速度非常的慢。慢的原因其实就是从Python的官方源https://pypi.org/ 下载到本地,然后解包安装。不过因为某些原因,访问官方的pypi不稳定,很慢甚至有些还时不时的访问不了。为了解决这个下载慢的问题,可以使用国内的pypi镜像。

轻轻松松解决pip离线安装,配置pypi国内加速镜像

更新历史

2018年05月03日 - 初稿

阅读原文 - https://wsgzao.github.io/post/pip/

扩展阅读

PyPA - https://www.pypa.io/


pip简介

The PyPA recommended tool for installing Python packages.

pip安装

https://pip.pypa.io/en/stable/installing/

pip在线安装

To install pip, securely download get-pip.py:

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

Inspect get-pip.py for any malevolence. Then run the following:

python get-pip.py

pip离线安装

以 Linux 下 Python 2.7.14 和 pip 9.0.1 为例,Windows 可以参考最后的推荐链接

下文中提到的压缩包都可以在官方找到对应的版本 - https://pypi.org/

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Install Packages
yum install gcc zlib zlib-devel openssl-devel -y

# Install Python
tar xf Python-2.7.14.tgz
cd Python-2.7.14
./configure
make
make install
cd ..

# ImportError: No module named six.moves
tar xf six-1.11.0.tar.gz
cd six-1.11.0
python setup.py install
cd ..

# ImportError: No module named packaging.version
tar xf packaging-17.1.tar.gz
cd packaging-17.1
python setup.py install
cd ..

# ImportError: No module named pyparsing
tar xf pyparsing-2.2.0.tar.gz
cd pyparsing-2.2.0
python setup.py install
cd ..

# ImportError: No module named appdirs
tar xf appdirs-1.4.3.tar.gz
cd appdirs-1.4.3
python setup.py install
cd ..

# Install Setuptools
unzip setuptools-38.5.2.zip
cd setuptools-38.5.2
python setup.py install
cd ..

# Install pip
tar xf pip-9.0.1.tar.gz
cd pip-9.0.1
python setup.py install
cd ..

# Upgrading pip
pip install -U pip

配置pypi国内加速镜像

由于众所周知的原因,国内访问和下载国外的镜像仓库不畅,所以需要做些小小的优化

阿里云(aliyun) - https://mirrors.aliyun.com/pypi/simple/
豆瓣(douban) - https://pypi.douban.com/simple/
清华大学(tuna) - https://pypi.tuna.tsinghua.edu.cn/simple/

临时使用

注意,simple 不能少, 是 https 而不是 http

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ansible

永久生效

pip配置文件不存在则需要手动创建,具体配置信息参考官方文档

https://pip.pypa.io/en/stable/user_guide/#config-file

1
2
3
4
5
6
# Linux
~/.config/pip/pip.conf
# Windows
%APPDATA%\pip\pip.ini
# macOS
$HOME/Library/Application Support/pip/pip.conf

Linux更换pypi国内源

1
2
3
4
5
6
7
# Linux更换pypi国内源
tee ~/.config/pip/pip.conf <<-'EOF'
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host= mirrors.aliyun.com
EOF

Windows更换pypi国内源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Windows更换pypi国内源,运行以下python代码会自动建立pip.ini
import os

ini="""[global]
index-url = https://pypi.doubanio.com/simple/
[install]
trusted-host=pypi.doubanio.com
"""
pippath=os.environ["USERPROFILE"]+"\\pip\\"

if not os.path.exists(pippath):
os.mkdir(pippath)

with open(pippath+"pip.ini","w+") as f:
f.write(ini)

推荐参考的文章

Python 2.6 升级至 Python 2.7 的实践心得 - https://wsgzao.github.io/post/python-2-6-update-to-2-7/
pip离线安装和配置pypi国内加速镜像实践 - https://wsgzao.github.io/post/pip/
使用pypiserver快速搭建内网离线pypi仓库实践 - https://wsgzao.github.io/post/pypiserver/
RHEL7/CentOS7在线和离线安装GitLab配置使用实践 - https://wsgzao.github.io/post/gitlab/
使用pipenv代替virtualenv管理python包 - https://wsgzao.github.io/post/pipenv/

文章目录
  1. 1. 前言
  2. 2. 更新历史
  3. 3. pip简介
  4. 4. pip安装
    1. 4.1. pip在线安装
    2. 4.2. pip离线安装
  5. 5. 配置pypi国内加速镜像
    1. 5.1. 临时使用
    2. 5.2. 永久生效
  6. 6. 推荐参考的文章