python - 从私有(private) Git 存储库进行 Pip 安装,在 Git URL 中使用个人访问 token

标签 python python-3.x git pip

我正在尝试从 Git 上的私有(private)存储库安装一个包。
我在我的 Git URL 中使用个人访问 token 以绕过手动身份验证步骤。 (您可以阅读有关个人访问 token here 的信息)
如果我在需求文件中添加这个 git URL,然后使用 pip 中的需求文件来安装它,它就可以工作。

requirements.txt
<package name> @ git+https://<Personal Access Token>@<git server address>/<username>/<repository name>.git@<branch name>#egg=<package name>

但是,如果我直接使用相同的 URL,它会要求输入密码,我该如何避免这个密码提示(如下所述):
pip install git+https://<Personal Access Token>@<git server address>/<username>/<repository name>.git@<branch name>#egg=<package name>

在我测试过的所有机器上都没有观察到这个问题。它适用于 Win 10 x64 和 Win 10 x86。但它不适用于 Ubuntu x64。我确保所有 3 个系统都具有相同的 Python 版本(3.8.0)和相同的 Pip 版本(19.3.1)。

最佳答案

使用环境变量 语法为 ${VARIABLE} (POSIX 格式,允许大写和下划线)所以你不会硬编码你的 secret 。
从 requirements.txt 安装时,Pip 将被替换。
所以你可以引用一个token来克隆私有(private)repo,例如:
要求.txt
Github

git+https://${GITHUB_TOKEN}@github.com/user/project.git@{version}
GitLab
git+https://${GITLAB_TOKEN_USER}:${GITLAB_TOKEN}@gitlab.com/user/project.git@{version}
比特桶
git+https://${BITBUCKET_USER}:${BITBUCKET_APP_PASSWORD}@bitbucket.org/user/project.git@{version}
更多信息在这里:
https://docs.readthedocs.io/en/stable/guides/private-python-packages.html

关于python - 从私有(private) Git 存储库进行 Pip 安装,在 Git URL 中使用个人访问 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59189854/

相关文章:

git - 尝试启动 git bisect 给出 'fatal: invalid reference:...'

python - Heroku 应用程序的隐私问题

python - 加入 Keras 中每个输出的指标(在多个输出中)

python - 检查 SQLAlchemy Hybrid_properties 的表达式输出

c++ - pybind c++ 用于多个 python 版本

python - 如果计数大于 pandas 中的某个值,如何更改 pd.Series 中的 bool 值

git - Cent os bash 无法识别选项 --adduser 命令上的系统

git - 如何一次 pull 所有分支 - 包括新创建的分支?

python - 保存每行的前两个单词

python - 在生成所有可能的组合时 itertools.combinations_with_replacement() 与 itertools.product()?