解决 pipenv 安装第三方库时卡住的问题:更换国内源
0. 参考资料
- https://stackoverflow.com/questions/50719957/how-to-change-the-source-for-the-pipfile-for-better-usage-of-pipenv
- https://github.com/pypa/pipenv/blob/master/docs/advanced.rst
- https://blog.csdn.net/chenghuikai/article/details/55258957
- https://blog.csdn.net/jaket5219999/article/details/80815847
1. 问题描述
其实准确来讲卡住的步骤不是在安装第三方库,而是在安装完成之后的锁定依赖的步骤。
会出现类似下面的提示:
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
最后报超时的异常:
pipenv.patched.notpip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
原因在于 Pipfile 文件中指定使用官方源锁定依赖,导致速度过慢,解决方案自然是更换国内源。
2. 国内源的选择
阿里云:http://mirrors.aliyun.com/pypi/simple/
豆瓣:http://pypi.douban.com/simple/
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学:https://pypi.mirrors.ustc.edu.cn/simple/
本人只使用过豆瓣源和清华源,其中豆瓣源不好用,有些库找不到,推荐清华源,大家也可以自行尝试。
下面修改 Pipfile 文件默认源为清华源。
3. 更换清华源
注:以下过程在
Ubuntu系统中进行,其他系统类似。
- 切换目录到项目文件根目录
- 查看
Pipfile的内容:cat Pipfile
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
flask = "*"
requests = "*"
wtforms = "*"
flask-sqlalchemy = "*"
cymysql = "*"
flask-login = "*"
[dev-packages]
[requires]
python_version = "3.7"
我们要修改的就是 [[source]] 下的 url 。
打开
Pipfile编辑:vim Pifile把第二行的
url换成清华源(其实还可以把name也改动一下,我偷懒就不改了):
url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
保存退出:
:x回车查看修改后的
Pipfile:cat Pipfile
[[source]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
verify_ssl = true
name = "pypi"
[packages]
flask = "*"
requests = "*"
wtforms = "*"
flask-sqlalchemy = "*"
cymysql = "*"
flask-login = "*"
[dev-packages]
[requires]
python_version = "3.7"
4. 完成
再次尝试 pipenv install 包名 ,这次锁定依赖的速度就快多了,最后一步只花了 7 秒。
Adding flask-login to Pipfile's [packages]...
Pipfile.lock (872fed) out of date, updating to (46e686)...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Updated Pipfile.lock (46e686)!
Installing dependencies from Pipfile.lock (46e686)...
▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 16/16 — 00:00:07
本文介绍如何解决pipenv安装第三方库时卡住的问题,通过切换到国内如清华源,加快依赖锁定的速度,提高安装效率。详细步骤包括检查Pipfile, 修改源地址,以及验证更改效果。"
125581394,5589275,ClickHouse Online Summer Meetup China 2022 视频笔记,"['clickhouse', '数据库', '技术分享', '会议']

186

被折叠的 条评论
为什么被折叠?



