我正在尝试 pip 或 pipenv 安装一个Python包,我推送到我的组织在JFrog Artifactory上托管的私有PyPI存储库 .
从Artifactory documentation http://<username>:<password>@hostname...
应该工作 . 我已经尝试了我的登录密码以及在 Artifact Repository Browser 中的 Set Me Up 工具中从中获取的密码 .
以下命令要求输入用户名和密码,但我不想从命令行输入它们,因为它们将通过环境变量传递到CI管道 . 如果我在提示符下键入用户名和密码,那么它可以正常工作 .
$ pip search package-name --index https://user:password@organisation.jfrog.io/organisation/api/pypi/pypi/simple
User for organisation.jfrog.io:
$ pip install --extra-index-url https://user:password@organisation.jfrog.io/organisation/api/pypi/pypi/simple package-name
Looking in indexes: https://pypi.org/simple, https://user:password@organisation.jfrog.io/organisation/api/pypi/pypi/simple
Collecting package-name
User for organisation.jfrog.io:
使用 curl
尝试HTTP身份验证也不起作用 .
$ curl -i https://user:password@organisation.jfrog.io/organisation/api/pypi/pypi/simple/
HTTP/1.1 401 Unauthorized
Content-Type: application/json;charset=ISO-8859-1
Date: Thu, 26 Apr 2018 18:03:39 GMT
Server: Artifactory/5.10.1
WWW-Authenticate: Basic realm="Artifactory Realm"
X-Artifactory-Id: aolshared3a-organisation
X-Node: nginx2a.prod-euw1
Content-Length: 91
Cache-Control: proxy-revalidate
Connection: Keep-Alive
Set-Cookie: BCSI-CS-a61288137a7d35f7=1; Path=/
{
"errors" : [ {
"status" : 401,
"message" : "Authentication is required"
} ]
}
2 回答
这似乎是Artifactory的暂时问题 . 当我在原始问题中运行所有代码时,我获得了成功 - 没有要求用户名/密码,
curl
返回结果,安装工程 . 与支持团队中的某人取得联系可能会有所帮助 .尝试用--index-url替换--index - 这将适用于公共PyPi存储库以及兼容PyPi的替代品,例如CloudRepo(我公司的产品) .
如果这不起作用,请尝试更新您的pip版本并再次尝试使用--index-url .