首页 > 解决方案 > 从私人 Git 存储库进行 Pip 安装,在 Git URL 中使用个人访问令牌

问题描述

我正在尝试从 Git 上的私有存储库安装一个包。
我在我的 Git URL 中使用个人访问令牌以绕过手动身份验证步骤。(您可以在此处阅读有关个人访问令牌的信息)
如果我将此 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)。

标签: pythonpython-3.xgitpip

解决方案


使用具有语法(POSIX 格式,允许大写和下划线)的环境变量${VARIABLE},这样您就不会对您的秘密进行硬编码。

从 requirements.txt 安装时,Pip 将被替换。

所以你可以参考一个token来克隆私有repo,例如:

requirements.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


推荐阅读