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

升级PostgreSQL 16.1后pip无法安装包,TLS CA证书错误求助

原因分析
  • PostgreSQL 16.1安装过程中可能自动设置了SSL_CERT_FILE系统环境变量,强制将SSL证书路径指向它自带的C:\Program Files\PostgreSQL\16\ssl\certs\ca-bundle.crt,但该文件可能未被正确生成,或者路径中的空格导致pip解析出错。
  • 环境变量的优先级高于pip配置文件:如果SSL_CERT_FILE已设置,你手动创建的pip.ini里的cacert配置会被覆盖,无法生效。
  • 权限问题:当前用户没有访问PostgreSQL证书目录的权限,导致pip无法读取该路径下的证书文件。
解决思路
  • 修正系统环境变量
    1. 打开系统环境变量设置(右键此电脑→属性→高级系统设置→环境变量),在系统变量中查找SSL_CERT_FILE。
    2. 若该变量存在,要么直接删除它,要么将其值修改为Python自带的cacert.pem路径(通常为C:\PythonXX\Lib\site-packages\pip\_vendor\certifi\cacert.pem,XX为你的Python版本号)。
  • 确保pip配置生效
    1. 打开命令提示符,执行pip config list,查看global.cacert是否为你指定的正确路径。
    2. 若配置未生效,直接用命令行强制设置:pip config set global.cacert "C:\你的Python路径\Lib\site-packages\pip\_vendor\certifi\cacert.pem",或者确认pip.ini的位置是否正确(Windows下默认在C:\Users\你的用户名\AppData\Roaming\pip\pip.ini)。
  • 修复PostgreSQL证书文件
    1. 导航到C:\Program Files\PostgreSQL\16\ssl\certs目录,检查是否存在ca-bundle.crt。如果不存在,从Python的certifi目录复制cacert.pem到该目录,并重命名为ca-bundle.crt。
    2. 右键PostgreSQL安装目录,选择「属性」→「安全」,添加当前用户并赋予读取权限。
  • 临时应急方案
    安装包时临时指定证书路径:pip install 目标包名 --cert "C:\正确的cacert.pem路径";或临时跳过SSL验证(仅用于紧急情况,不推荐):pip install 目标包名 --trusted-host pypi.org --trusted-host files.pythonhosted.org

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 04:05:00