You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pipenv无法锁定Pipfile问题求助(企业代理环境)

问题分析与解决方案

是否为SSL相关问题?

是的。从报错回溯来看,问题发生在SSL握手阶段(self._sslobj.do_handshake()),最终导致连接被远程主机强制关闭(WinError 10054)。虽然pip和virtualenv能正常工作,但Pipenv使用了自带的patched版本urllib3、requests等库,这些库可能未正确读取pip.ini代理配置中的SSL相关设置,或是企业代理的SSL证书未被Pipenv内置库信任。

解决步骤

1. 为Pipenv配置代理环境变量

在当前命令行会话中临时设置代理:

# Windows cmd
set HTTP_PROXY=http://你的代理地址:端口
set HTTPS_PROXY=http://你的代理地址:端口
set NO_PROXY=localhost,127.0.0.1

# Windows PowerShell
$env:HTTP_PROXY="http://你的代理地址:端口"
$env:HTTPS_PROXY="http://你的代理地址:端口"
$env:NO_PROXY="localhost,127.0.0.1"

设置完成后执行pipenv lock测试。

2. 让Pipenv信任企业代理证书

如果企业代理使用自签名SSL证书,需指定证书路径:

# Windows cmd
set REQUESTS_CA_BUNDLE=C:\证书路径\proxy-cert.crt
set SSL_CERT_FILE=C:\证书路径\proxy-cert.crt

# Windows PowerShell
$env:REQUESTS_CA_BUNDLE="C:\证书路径\proxy-cert.crt"
$env:SSL_CERT_FILE="C:\证书路径\proxy-cert.crt"

也可将证书导入系统信任根证书库,让Pipenv间接信任该证书。

3. 替换PyPI镜像源

若代理连接官方PyPI不稳定,修改项目Pipfile中的源:
打开Pipfile,找到[[source]]部分替换为国内镜像:

[[source]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
verify_ssl = true
name = "pypi"

保存后执行pipenv lock --clear重新尝试锁定。

4. 升级Pipenv版本

旧版本Pipenv可能存在代理兼容问题,升级到最新版:

pip install --upgrade pipenv

5. 强制Pipenv使用系统库

若以上方法无效,让Pipenv使用系统已配置好的requests/urllib3库:

# Windows cmd
set PIPENV_NO_INHERIT=0
set PIPENV_VENV_IN_PROJECT=1

# Windows PowerShell
$env:PIPENV_NO_INHERIT=0
$env:PIPENV_VENV_IN_PROJECT=1

内容的提问来源于stack exchange,提问作者Ryan F

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 18:04:52