python - 从私人 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)。
解决方案
使用具有语法(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
推荐阅读
- reactjs - 在 ReactJS 中创建多个表
- wpf - WPF MVVM 防止键盘选项卡进入折叠控件
- uwp - 从 Web 驱动的 XBOX 应用程序访问 XBOX 讲述人设置
- angular - 如何根据从另一个可观察对象返回的数组中的键创建可观察/ http请求数组
- reactjs - ReactiveSearch 组件和传递状态/道具
- javascript - Node.js 中的网页抓取
- mapbox - Mapbox 地形 RGB 图像'
- sql - Oracle regexp_replace - 删除尾随空格
- reactjs - 无法使用 GraphQL 和 GatsbyJS 查询 ACF 选项页面
- replace - 修改所有列 pyspark 的值