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

pip使用requirements.txt安装私有GitHub仓库依赖时弹出密码提示

问题原因

你在终端直接执行安装命令时,${API_TOKEN}是由当前使用的shell(bash/zsh等)提前完成值替换,拼出完整带token的URL后再传给pip,因此可以正常安装。
但将地址写入requirements.txt后,shell不会解析文件内部的文本内容,变量替换逻辑由pip自行完成。你之前使用的URL格式省略了GitHub HTTPS鉴权要求的用户名段,pip无法正确识别URL中的认证部分,不会把解析后的token正确传给git底层,最终触发git的密码输入提示。另外GitHub已经禁用了账号密码通过HTTPS协议操作仓库的鉴权方式,所以弹出提示时输入账户密码也必然会安装失败。

解决方法

把requirements.txt中对应的依赖行修改为如下格式即可:

git+https://x-access-token:${API_TOKEN}@github.com/johnf1004/my_package.git

这个格式是GitHub官方支持的OAuth令牌HTTPS鉴权标准格式,加上x-access-token:作为用户名占位后,pip可以正确识别URL的认证段,正常完成环境变量替换并传递给git,不会再弹出密码提示。

额外排查点

如果修改后仍然安装失败,可以逐一检查以下配置:

  • 执行pip安装命令的终端会话中,环境变量API_TOKEN已正确加载,可以先执行echo $API_TOKEN确认能正常输出令牌值,避免出现变量仅在部分终端会话生效、未被继承的问题
  • requirements.txt中的依赖行不要添加任何单引号、双引号包裹,也不要在行尾、变量名周围添加多余空格,否则会被pip识别为URL的一部分导致解析失败
  • 如果使用的pip版本低于20.0,先执行pip install --upgrade pip升级到新版,旧版本pip对URL内嵌环境变量的解析存在已知bug

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 04:24:24