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

如何避免pip-compile生成requirements.txt时暴露GitHub Token

pip-compile 保留私有仓库Token占位符的解决方案
  • 方案1:使用pip-tools原生参数支持
    升级pip-tools到6.14.0及以上版本,编译时添加--preserve-env-var GITHUB_TOKEN参数即可保留占位符,执行命令示例:
    GITHUB_TOKEN=你的实际Token pip-compile --preserve-env-var GITHUB_TOKEN requirements.in
    
    生成的requirements.txt会直接保留${GITHUB_TOKEN}格式,后续执行pip install时pip会自动读取当前环境的GITHUB_TOKEN变量完成鉴权下载。
  • 方案2:剥离凭证到Git全局配置
    先把requirements.in里的私有依赖地址改成不带Token的格式:
    git+https://github.com/company/some-lib-name.git@v1.4.0
    
    再执行Git配置命令,让Git访问对应前缀的仓库时自动注入环境变量里的Token:
    git config --global url."https://${GITHUB_TOKEN}@github.com/company/".insteadOf "https://github.com/company/"
    
    该方式下pip-compile和pip install全程不会接触明文Token,完全由Git层处理鉴权,不会出现Token泄露到依赖文件的问题。
  • 方案3:后置替换(适合临时应急场景)
    如果不想升级工具或修改配置,可在编译完成后执行正则替换命令,把明文Token换回占位符:
    # macOS环境把sed -i改成sed -i ''
    sed -i "s/ghp_[a-zA-Z0-9]*@/\${GITHUB_TOKEN}@/g" requirements.txt
    
    可根据自己的Token前缀调整正则匹配规则即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 15:24:02