Pipenv: 即使指定了额外的索引 URL 身份验证也是交互的

创建于 2017-12-04  ·  3评论  ·  资料来源: pypa/pipenv

即使在额外索引 URL 本身中指定了身份验证,额外索引 URL 的身份验证也会请求用户交互式身份验证。

描述你的环境
  1. 拱形Linux
  2. Python 版本: Python 3.6.3
  3. Pipenv 版本: pipenv, version 8.3.2
预期结果

当我添加带有身份验证信息的 URL 的[[source]]时(例如https://user:password@host/pypi/simple ),不应请求身份验证信息。

实际结果
$ pipenv lock --verbose
Locking [dev-packages] dependencies…
Using pip: -i https://pypi.python.org/simple --extra-index-url https://xxxUSERxxx:xxxPASSWORDxxx@xxxHOSTxxx/xxxPATHxxx/pypi/simple

                          ROUND 1
Current constraints:
  xxx
  xxx
  xxx

Finding the best candidates:
User for xxxxxxxx:

然后等待用户输入。

复制步骤
  1. [[source]]到需要基本 http 身份验证的 URL 的Pipfile
  2. 向使用指定索引的Pipfile添加一个包(例如package_name: {version="*", index="index_name"}
  3. 运行pipenv lock

最有用的评论

抱歉,这不是pipenv问题; 即使在 virtualenv 之外使用正常的pip也会发生这种情况。

仅供参考,对于任何想知道如何在 CI 和 docker 中使用私有pip库的人,您必须使用PIP_EXTRA_INDEX_URL环境变量进行身份验证。 这可以使用未签入 VCS 的.env文件进行本地测试,也可以使用 CI 工具用于环境变量定义的任何内容进行远程测试(通常在存储库的 GUI 或 CLI 设置中)。 如果您使用的是docker ,则可以将其注入--build-arg YOUR_ARG_KEY=$YOUR_ENV_VAR 。 我会将其添加到相关问题 (#1020) 中,但由于某种原因已关闭。

所有3条评论

抱歉,这不是pipenv问题; 即使在 virtualenv 之外使用正常的pip也会发生这种情况。

仅供参考,对于任何想知道如何在 CI 和 docker 中使用私有pip库的人,您必须使用PIP_EXTRA_INDEX_URL环境变量进行身份验证。 这可以使用未签入 VCS 的.env文件进行本地测试,也可以使用 CI 工具用于环境变量定义的任何内容进行远程测试(通常在存储库的 GUI 或 CLI 设置中)。 如果您使用的是docker ,则可以将其注入--build-arg YOUR_ARG_KEY=$YOUR_ENV_VAR 。 我会将其添加到相关问题 (#1020) 中,但由于某种原因已关闭。

@Californian感谢相关更新,我会添加一个链接

@Californian OT 在这里,但使用--build-arg作为秘密并不好。 您实际上可以从构建历史中获取秘密; 试试docker history <image> ,你会在那里看到它。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

hynek picture hynek  ·  3评论

bgjelstrup picture bgjelstrup  ·  3评论

AkiraSama picture AkiraSama  ·  3评论

fbender picture fbender  ·  3评论

xi picture xi  ·  3评论