2 回答
TA贡献1829条经验 获得超9个赞
目标
pip install
应该从 GitLab 以及 PyPi 存储库安装/更新软件包。如果两者都存在相同的包,则首选PyPi 。pip install
应该支持身份验证。首选,如果我们可以以某种方式让它从配置文件中读取,这样我们就不需要重复指定它。
理论
pip install
支持--extra-index-url
指定额外的 PyPi 索引。同样也可以通过文件提供pip.conf
。pip
使用requests
支持~/.netrc
配置文件(文档)。
脚步
在建议的任何位置创建一个
pip.conf
(如果在 Windows 上) 。pip.ini
pip config -v list
将您的 GitLab PyPi 索引 URL 添加到
pip.conf
.
[install]
extra-index-url = https://gitlab.com/api/v4/projects/12345678/packages/pypi/simple
创建或更新您的~/.netrc文件并添加您的 GitLab 身份验证详细信息。
machine gitlab.com
login <token-name>
password <token-pass>
我们现在可以像安装软件包一样简单
pip install <package-name>
。pip
现在将查看两个索引来查找您的软件包,并优先选择 指向的索引index-url
。
附加信息
pip search
如果支持多个索引,同样的情况也是可能的。在此之前,需要手动指定应使用哪个 PyPi 索引 URL。GitLab 似乎不支持,因为当指定为 PyPi 索引时pip search
它会抛出415 客户端错误:不支持的媒体类型。至于您的疑问,中的每个部分都
pip.conf
指向该特定命令,提供了、for等的[install]
配置。可能指的是可以为所有命令指定的参数,无论是 it还是。pip install
[search]
pip search
[global]
pip install
pip search
.pypirc
file 专门用于配置与上传相关的包索引(由 twine/flint 使用),其中 as与管理本地系统上的 python 包的pip.conf
配置相关。pip
TA贡献2021条经验 获得超8个赞
试试这个:
[global]
index-url = http://pypi.org/simple
trusted-host = pypi.org
gitlab.company.de
extra-index-url= https://username:password@gitlab.company.de/api/v4/projects/2142423/packages/pypi
添加回答
举报