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

使用自托管代理运行Python脚本的方案及pip安装网络问题解决

DevOps流水线搭建(VPN连接AzureML)及pip依赖安装问题解决

一、解决pip无法下载包的问题(企业防火墙场景)

针对你遇到的HTTPSConnectionPool错误,以下是几种可行的解决方式:

  • 使用企业内部PyPI镜像源
    在Windows自托管代理机器上创建或修改pip配置文件%APPDATA%\pip\pip.ini,添加企业内部镜像地址:

    [global]
    index-url = http://your-enterprise-pypi-mirror/simple
    trusted-host = your-enterprise-pypi-mirror
    

    如果镜像使用HTTPS,需确保代理机器信任镜像的SSL证书,必要时添加cert参数指定证书路径。

  • 配置企业代理服务器
    如果企业允许通过指定代理访问外部PyPI源,可在pip安装命令中直接指定代理:

    pip install --proxy http://proxy-ip:proxy-port -r requirements.txt
    

    也可在流水线步骤中提前设置环境变量(适用于所有后续命令):

    set HTTP_PROXY=http://proxy-ip:proxy-port
    set HTTPS_PROXY=http://proxy-ip:proxy-port
    
  • 离线打包依赖包
    在能正常联网的机器上提前下载所有依赖包:

    pip download -r requirements.txt -d ./local-packages
    

    将local-packages文件夹与requirements.txt一同同步到自托管代理可访问的路径,执行离线安装:

    pip install --no-index --find-links=./local-packages -r requirements.txt
    

    注意:需确保打包机器与代理机器的Python版本、系统架构一致,避免兼容性问题。

二、VPN连接AzureML工作区的DevOps流水线常规实现方式

1. 自托管代理基础配置

  • 确保Windows代理机器已通过企业VPN连接到Azure虚拟网络,能访问AzureML工作区的专用终结点。可在流水线中添加连通性检查步骤:
    # 检查专用终结点IP连通性
    ping <azureml-private-endpoint-ip>
    # 检查专用终结点FQDN的HTTPS访问
    Invoke-WebRequest -Uri https://<azureml-private-endpoint-fqdn> -SkipCertificateCheck
    
  • 配置VPN自动连接:在Windows系统中设置VPN为开机自动连接,或在流水线启动前添加PowerShell脚本,检查VPN状态并自动重连。

2. 流水线核心步骤设计

  • 步骤1:VPN连通性验证(可选但推荐)
    执行上述PowerShell检查命令,确保代理机器能正常访问AzureML专用终结点,若失败则终止流水线并抛出告警。
  • 步骤2:依赖包安装
    使用上述解决pip问题的方法完成依赖安装,确保azureml-core等AzureML相关包正常安装。
  • 步骤3:Python脚本执行
    确保Python脚本中正确配置AzureML工作区访问:
    from azureml.core import Workspace
    from azureml.core.authentication import ServicePrincipalAuthentication
    
    # 使用服务主体认证(推荐流水线场景)
    auth = ServicePrincipalAuthentication(
        tenant_id="your-tenant-id",
        service_principal_id="your-sp-id",
        service_principal_password="your-sp-password"
    )
    
    ws = Workspace(
        workspace_name="your-workspace-name",
        subscription_id="your-sub-id",
        resource_group="your-rg-name",
        auth=auth
    )
    
    注意:服务主体需拥有AzureML工作区的对应权限(如Azure ML Data Scientist),且其流量需能通过VPN/虚拟网络访问专用终结点。

3. 权限与网络配置要点

  • AzureML工作区的专用终结点需配置在与VPN连通的虚拟网络中,确保路由表正确转发代理机器的流量到专用终结点。
  • 自托管代理机器需具备企业VPN的访问权限,避免出现连接中断或权限不足的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 11:40:51