如何在Pipenv中使用私有本地devpi服务器安装Python包?
解决Pipenv无法使用本地devpi服务器安装包的问题
我懂你遇到的困扰——用pip能顺畅通过本地devpi安装依赖,但切换到Pipenv就失效了,核心原因是Pipenv默认用自己的源配置,不会自动继承pip的全局设置。下面是具体的解决办法:
1. 修改项目的Pipfile配置
打开你项目根目录下的Pipfile,找到默认的[[source]]区块,把它替换成指向你的devpi服务器的配置:
[[source]] url = "http://mydevpi.mine/root/pypi/+simple/" verify_ssl = false # 你的devpi用的是HTTP协议,所以关闭SSL验证 name = "devpi"
这里的url要和你pip配置里的index_url完全一致;如果你的devpi配置了SSL证书,可以把verify_ssl设为true并指定证书路径。
2. (可选)全局配置Pipenv使用devpi
要是你希望所有Pipenv项目都默认用这个devpi源,可以修改用户目录下的全局Pipfile(路径一般是~/.pipenv/Pipfile,Windows系统在%USERPROFILE%\.pipenv\Pipfile),同样替换[[source]]区块为上述内容。
3. 重新安装依赖
配置完成后,运行下面的命令就能正常从devpi拉取依赖了:
pipenv install -r requirements.txt
补充说明
如果你的devpi服务器需要身份认证,可以直接在url里带上用户名和密码:
[[source]] url = "http://你的用户名:你的密码@mydevpi.mine/root/pypi/+simple/" verify_ssl = false name = "devpi"
另外,Pipenv理论上会读取pip的全局配置文件(比如~/.pip/pip.conf),但有时候会因为配置优先级或环境变量的影响不生效,直接修改Pipfile是最稳妥的方案。
内容的提问来源于stack exchange,提问作者user9541335
相关产品推荐
相关产品推荐

