Python的pip工具安装及提速配置
Tags: pippip3Python加速国内源安装配置豆瓣
pip简介
pip 是 Python 的包管理器,被很多项目用于依赖管理。现在 Python 安装器已经包含了 pip,使它成为所有的 Pythonista 都应当会用的基础工具。
Python 提供了一个适用于开发各种应用的标准库扩展,但是 Python 活跃的社区提供了更多的工具和库,可以加速 Python 应用开发。
这些工具和库都发布在 Python 包索引(PyPI)上,并且使用 pip 允许开发者在自己的环境中安装它们。
作为官方的包管理器,Setuptools已经替代了Distribute来管理Python Package Index中的包。每个python interpreter需要安装其自己的Setuptools。
pip建立在Setuptools基础上,可以提供其它一些管理包的功能
如果是 Python 2.7.9 之前的版本,需要手动安装 pip,并且 Python 2.7.9+ 或者 Python 3.4+ 以上都自带了 pip 工具。
一般情况 pip 对应的是 Python 2.7,pip3 对应的是 Python 3.x。
pip安装
官方文档:https://pip.pypa.io/en/stable/installation/
pip2安装
1 2 3 4 5 6 7 | wget https://bootstrap.pypa.io/pip/2.7/get-pip.py /usr/local/python2.7.5/bin/python2.7 get-pip.py -- 或者 python -m ensurepip --upgrade |
注意:使用哪个版本的Python运行安装脚本,pip关联哪个版本.
pip3安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | yum install -y python-setuptools easy_install pip -- 或者 python -m ensurepip --upgrade -- 或者 python 最低3.7 wget https://bootstrap.pypa.io/pip/pip.pyz python pip.pyz --help -- 或者 python 最低3.7 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py ln -s /usr/local/python/bin/pip /usr/bin/pip -- pip升级: python -m pip install --upgrade pip |
1 2 3 | [root@test soft]# /usr/local/python2.7.5/bin/python2.7 get-pip.py ERROR: This script does not work on Python 2.7 The minimum supported Python version is 3.7. Please use https://bootstrap.pypa.io/pip/2.7/get-pip.py instead. |
pip提速配置
pip install + 包名 的方式 安装第三方库的时候,下载速度很慢,有时还会超时,遇到第三方库比较大时候,是真的很慢
pip 提速方法主要有两种,一种是临时提速,一种是永久提速。
临时提速
在 pip install 包名 后面加上 -i + 镜像地址,这样 pip 安装时即可成倍的提速了。
国内主要镜像地址如下:
“
本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/
”
所以临时让 pip 安装时提速的格式如下:
1 | pip install 包名 -i https://pypi.tuna.tsinghua.edu.cn/simple |
永久提速
每次临时复制镜像地址放在后面也挺麻烦的,所以接下来介绍永久提速的方法。做一下简单的配置即可完成。
Windows系统配置
1 2 3 4 5 6 7 8 9 | ① 在资源管理器上面输入%APPDATA%; ② 新建一个文件夹pip; ③ 在pip文件夹里面新建一个文件 pip.ini; 在pip.ini中写入如下配置 [global] timeout = 6000 index-url = http://pypi.douban.com/simple trusted-host = pypi.douban.com 如果要修改为其它源,比如阿里,只需要将最后两行修改即可。 |
使用记事本默认的ANSI编码格式复制上面的文本粘贴即可。
Mac 和 Linux 配置
简易版:
1 2 3 4 5 6 | mkdir -p ~/.pip cat > ~/.pip/pip.conf << EOF [global] index-url = https://pypi.douban.com/simple/ EOF |
复杂版本:
1 2 3 4 5 6 7 8 9 10 11 | mkdir ~/.pip cat > ~/.pip/pip.conf << EOF [global] timeout = 6000 index-url = http://mirrors.aliyun.com/pypi/simple/ index-index-url = http://pypi.douban.com/simple/ [install] trusted-host = mirrors.aliyun.com pypi.douban.com EOF |
提速的后效果如下图(图中速度为真实下载速度,未经过处理)
好了,大家赶紧自己动手配置吧,提速后,以前安装需要的十几分钟可能就会缩短为 3 秒了。
pip 的替代品
pip 是所有 Pythonista 必备的基本工具,很多应用程序和项目使用它作为软件包管理器。本教程帮助你了解基础知识,而 Python 社区非常积极的为其它开发人员提供了很棒的工具和库。其中包括 pip 的替代品,期望实现简单高效的包管理。
在本节,你将了解到 Python 中其它可用的包管理工具。
万能的 Conda
Conda 是一个包括 Python 在内的多种语言的包、依赖及环境管理器。实际上,它最早来源于Anaconda,作为 Python 中研究数据科学的包出现。
Conda 广泛用于数据科学和机器学习应用程序,并使用自己的索引来托管兼容的软件包。
Conda 不仅可以管理包的依赖项,还可以管理应用的虚拟环境,安装兼容并存的 Python 版本,为生产部署打包应用。
在 Windows 系统上为机器学习设置 Python 很好的介绍了 Conda,它探讨了包和环境管理。唯一与 Windows 相关的特定信息是安装,因此如果你使用的是其他系统平台,它仍然是可信的。
Pipenv
Pipenv 是另外一种包管理工具,旨在为 Python “提供全世界最好的包”。由于将虚拟环境与包管理合并到一个工具中,pipenv 在 Python 社区获得了极大的关注。
它还解决了在使用 pip 手动管理依赖关系是遇到的一些常见问题,比如,包的版本,隔离开发与生产环境依赖,锁定生产环境版本等。
Pipenv:新的 Python 打包工具指南是一份很好的学习 Pipenv 及其包管理的入门材料。尽管这篇文章的标签是中级,但是作者对读者做了很好的引导,初学 Python 的人也能理解这篇文章。
Poetry
Poetry 是另一个受到大量关注的 pip 替代品。与 Pipenv 类似,它简化了包的版本管理并隔离了开发环境与生产环境的依赖,而且它将依赖隔离到一个虚拟环境中运行。
如果你已经了解 JavaScript 和 npm,会觉得 Poetry 非常熟悉。它不只是管理包,还可以帮助你为应用和库构建发行版本并部署到 PyPI。如何向 PyPI 发布一个开源的 Python 包中一个很棒的 Poetry 介绍可以帮你入门。
PIP3安装报错nicodeDecodeError: 'ascii' codec can't decode byte 0xc3
linux平台使用pip安装包的时候报错:
File "/usr/local/python3/lib/python3.6/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 672: ordinal not in range(128)
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
解决
1 2 | export LANG=en_US export LC_ALL=en_US.UTF-8 |