You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows环境下Python 3.5.2安装pip/包遇代理问题求助

解决Python 3.5.2升级pip时的代理认证问题

嘿,我之前也踩过类似的代理认证坑,尤其是当用户名或密码里带空格、连字符这类特殊字符时,pip对代理字符串的处理经常会出问题。咱们一步步来排查解决:

  • 修正代理字符串的编码与格式
    你之前的代理设置里,%20作为空格的URL编码是没问题的,但密码里的-不需要额外编码;而且很多代理服务器用HTTP协议就能处理HTTPS请求,不用特意写https://开头。先重新设置系统代理变量试试:

    set http_proxy=http://pseudo%20space:mdp-tiret@proxy:port
    set https_proxy=http://pseudo%20space:mdp-tiret@proxy:port
    
  • 调整pip命令的代理参数写法
    直接在pip命令里指定代理时,Windows环境下最好用双引号把代理地址包起来,避免特殊字符被解析错误。也可以直接指定要升级到的pip版本,减少兼容性问题:

    pip install pip==9.0.3 --proxy "http://pseudo%20space:mdp-tiret@proxy:port"
    
  • 先验证代理服务器的可达性
    先确认你的代理能正常访问PyPI,用curl测试一下(如果没装curl,也可以用PowerShell的Invoke-WebRequest):

    curl -x http://pseudo%20space:mdp-tiret@proxy:port https://pypi.python.org/simple/pip/
    

    如果这个命令也失败,那大概率是代理本身的问题——比如端口错误、用户名密码不对,或者代理需要先手动登录网页完成认证。

  • 试试配置pip全局代理文件
    要是每次输代理太麻烦,还可以创建pip的配置文件。Windows下在%APPDATA%\pip\目录新建pip.ini文件,内容如下:

    [global]
    proxy = http://pseudo%20space:mdp-tiret@proxy:port
    

    保存后直接运行pip install --upgrade pip,pip会自动读取这个代理配置。

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

火山引擎 最新活动