从私人Git仓库中进行点安装,并在Git URL中使用个人访问令牌

时间:2019-12-05 07:01:16

标签: python python-3.x git pip

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

2 个答案:

答案 0 :(得分:1)

我只是遇到了同样的问题。最后,我可以按如下所示安装该软件包。

  • 从命令行:

pip install mypackagename --no-deps --index-url https://gitlab+deploy-token-mytokenname:tokenpassword@gitlab.mycompany.com/api/v4/projects/123456789/packages/pypi/simple

  • 通过在requirements.txt文件中指定它:

(请注意,以下示例中的flask和flask-cors软件包要求只是一个示例,因为对于读者来说,示例中的其他行确实是可以写入的内容似乎真的很奇怪要求。txt。)

flask==1.1.1
flask-cors==3.0.8
--index-url https://pypi.org/simple --extra-index-url https://gitlab+deploy-token-mytokenname:tokenpassword@gitlab.mycompany.com/api/v4/projects/123456789/packages/pypi/simple
mypackagename

然后当然运行pip install -r requirements.txt

请注意,以上两个片段均按照您的要求显示了如何提供密码。

答案 1 :(得分:1)

转到GitLab配置文件设置并生成读取访问令牌:

GitLab profile

  1. 选择访问令牌
  2. 给它起个名字(您可以将失效日期留空)
  3. 授予它读取您有权访问的所有存储库的权限
  4. 生成

现在编辑您的需求文件:

pandas==1.0.5
git+https://yourgitlabuser:generated_token@gitlab/group/repo@hash#egg=piplib
requests==2.24.0