pip离线安装和配置pypi国内加速镜像实践

前言

pip安装本身很简单官方推荐的安装方法就一条命令,但离线安装pip时就有点痛苦了,因为不知道缺少什么依赖包。有时候我们下载python的第三方库入django的时候pip install django 或者 easy_install django 发现下载的速度非常的慢。慢的原因其实就是从Python的官方源http://pypi.python.org/pypi 下载到本地,然后解包安装。不过因为某些原因,访问官方的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/

# 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

# Linux
~/.config/pip/pip.conf
# Windows
%APPDATA%\pip\pip.ini
# macOS
$HOME/Library/Application Support/pip/pip.conf

Linux更换pypi国内源

# 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国内源

# 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/

    原文作者:王奥(OX)
    原文地址: https://zhuanlan.zhihu.com/p/36413164
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞