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

Mac环境下pip安装Python包遇代理及SSL证书问题求助

公司Mac环境下pip装库的代理与SSL问题解决方案

一、代理配置疑问解答

1. set和export的区别

  • set是Windows命令行的环境变量设置命令,Mac使用类Unix shell(bash/zsh),对应的环境变量设置命令是export,仅对当前shell会话生效。若要永久生效,需把export命令写入~/.bash_profile(bash环境)或~/.zshrc(zsh环境)文件。

2. 域账户+特殊字符密码的代理配置

  • 域账户中的反斜杠\必须做URL编码,替换为%5C;密码里的特殊字符(如@、&、!等)也需URL编码:@→%40,!→%21,空格→%20。
  • 正确格式示例:http://domain%5Ca123456:pass%40%21word@proxy.server:8080

3. 密码以@结尾的代理格式

  • 直接写http://myname:haslo@@proxy.server:port是错误的,第一个@会被解析为用户名与密码的分隔符,导致末尾的@被识别为代理地址的一部分,引发连接错误。
  • 正确做法是把密码末尾的@编码为%40,格式应为:http://myname:haslo%40@proxy.server:port

二、SSL证书错误的修复步骤

1. 获取公司代理的根证书

公网的cacert.pem不适用公司内部的自签名代理证书,需导出公司代理的根证书:

  • 用浏览器打开任意HTTPS网站,点击地址栏的锁图标,进入证书详情页,将根证书导出为PEM格式(保存为company-proxy-cert.pem)。

2. 给pip指定公司证书

  • 临时执行:确保证书路径正确,若证书在当前目录,执行命令:
    pip install pytest --cert ./company-proxy-cert.pem
    
  • 永久配置:创建或修改~/.config/pip/pip.conf文件,添加以下内容:
    [global]
    proxy = http://编码后的代理地址:端口
    cert = /证书的绝对路径/company-proxy-cert.pem
    

3. 额外排查方向

  • 确认HTTP和HTTPS代理都已正确设置:
    export http_proxy="http://编码后的代理地址:端口"
    export https_proxy="http://编码后的代理地址:端口"
    
  • 询问IT部门是否有内部PyPI镜像源,使用内部源会更稳定,示例命令:
    pip install pytest -i http://内部镜像地址/simple --trusted-host 内部镜像地址
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 05:06:06