Python中pip通过代理服务器来安装

在通过 pip 安装 Python 包时使用代理服务器,可以通过以下几种方法实现:

方法 1:命令行参数(临时生效)

pip install 命令后直接添加代理参数:

pip install --proxy=http://<代理地址>:<端口> <包名>

示例:

pip install --proxy=http://10.10.1.10:8080 requests

如果代理需要认证:

pip install --proxy=http://用户名:密码@代理地址:端口 <包名>

方法 2:配置环境变量(全局生效)

设置系统环境变量 HTTP_PROXYHTTPS_PROXY(根据代理协议选择):

# Linux/macOS
export HTTP_PROXY=http://<代理地址>:<端口>
export HTTPS_PROXY=http://<代理地址>:<端口>
pip install <包名>

# Windows(命令提示符)
set HTTP_PROXY=http://<代理地址>:<端口>
set HTTPS_PROXY=http://<代理地址>:<端口>
pip install <包名>

认证信息同样可以包含在 URL 中(如 http://user:pass@proxy:port)。

方法 3:修改 pip 配置文件(永久生效)

  1. 创建或编辑 pip 配置文件:

    • Linux/macOS : ~/.pip/pip.conf/etc/pip.conf
    • Windows : %APPDATA%\pip\pip.ini(如 C:\Users\用户名\AppData\Roaming\pip\pip.ini
  2. 添加代理配置:

    [global]
    proxy = http://<代理地址>:<端口>
    

    如果需要认证:

    proxy = http://用户名:密码@代理地址:端口
    

常见问题

  1. 代理协议选择

    • HTTP 代理:http://proxy:port
    • HTTPS 代理:https://proxy:port(部分代理服务器支持)
    • SOCKS 代理:需额外安装 pysocks 并指定 socks5://proxy:port
  2. 验证代理是否生效

    pip --verbose install <包名>  # 查看详细日志中的连接信息
    
  3. 关闭代理

    • 临时取消环境变量:
      unset HTTP_PROXY HTTPS_PROXY  # Linux/macOS
      set HTTP_PROXY= & set HTTPS_PROXY=  # Windows
      
    • 删除 pip 配置文件中的 proxy 配置。

SOCKS 代理示例

  1. 安装依赖:
    pip install pysocks
    
  2. 使用 SOCKS5 代理:
    pip install --proxy socks5://127.0.0.1:1080 <包名>