这里是普通文章模块栏目内容页
修改pip源

Python 安装第三方库,pip install 安装慢、pipenv安装慢的问题解决

pip安装缓慢
本人在使用pip install以及更新的时候,发现下载速度一度到达1kb/s,这肯定有问题,于是搜索教程,最后整理到了一起。

问题原因
Pipfile 中 source 源是 python 官网,服务器在国外,加载比较慢。

将 url 修改为国内的源即可,速度大增。

解决方法
换源:
国内的一些源:

(注意:对于新版ubuntu要求使用https源)

清华: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 install -i + 源地址+ 安装库名,这样可以临时解决安装问题

例如:

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

这样的方式会从清华镜像去安装库。

还有一种方式就是永久修改源:

windows下,在C盘,Users目录下,找到自己的计算机名称,进入目录

进入目录后,创建一个文件夹,命名为pip

在进入这个文件夹,先创建为txt文件

打开添加以下的内容,然后在修改名称为pip.ini

添加清华的源地址

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

保存后,修改配置文件名称为pip.ini

此时修改好后,便可以使用。

pipenv的部分
也是换源:
方法如下
cd 到Pipfile所在路径,在命令行中运行下面的command,即可。
阿里源:

python -c "s='https://mirrors.aliyun.com/pypi/simple';fn='Pipfile';pat=r'(\[\[source\]\]\s*url\s*=\s*\")(.+?)(\")';import re;fp=open(fn, 'r+');ss=fp.read();fp.seek(0);fp.truncate();fp.write(re.sub(pat, r'\1{}\3'.format(s), ss));fp.close();print('Done! Pipfile source switch to:\n'+s)"

清华源:

python -c "s='https://pypi.tuna.tsinghua.edu.cn/simple';fn='Pipfile';pat=r'(\[\[source\]\]\s*url\s*=\s*\")(.+?)(\")';import re;fp=open(fn, 'r+');ss=fp.read();fp.seek(0);fp.truncate();fp.write(re.sub(pat, r'\1{}\3'.format(s), ss));fp.close();print('Done! Pipfile source switch to:\n'+s)"

豆瓣源:

python -c "s='https://pypi.douban.com/simple';fn='Pipfile';pat=r'(\[\[source\]\]\s*url\s*=\s*\")(.+?)(\")';import re;fp=open(fn, 'r+');ss=fp.read();fp.seek(0);fp.truncate();fp.write(re.sub(pat, r'\1{}\3'.format(s), ss));fp.close();print('Done! Pipfile source switch to:\n'+s)"

换完源,安装package还是有点慢?

可以考虑用pipenv install --skip-lock xxx 来安装python包,然后另开一个终端来运行pipenv lock

如图,再安装就飞快了!

附pipenv常用命令

删除虚拟环境 pipenv --rm
退出虚拟环境 exit
安装包 pipenv install package
卸载包 pipenv uninstall package
查看虚拟环境目录 pipenv --venv
查看包关系版本 pipenv graph
查看安装的包 pip freeze
查看环境下所以包 pip list
同步包 pipenv update​