【问题标题】:What's the difference between `pipenv install --index` and `pipenv install --pypi-mirror`?`pipenv install --index` 和 `pipenv install --pypi-mirror` 有什么区别?
【发布时间】:2018-11-20 08:23:18
【问题描述】:

pipenv install 命令参考here

-i,--索引 目标 PyPI 兼容的包索引 url。

--pypi-镜像 指定 PyPI 镜像。

另外,环境变量PIP_INDEX_URL对应--indexPIPENV_PYPI_MIRROR对应--pypi-mirror

如果我得到一个 pypi 镜像 url,将其传递为 --index=<url> 和传递为 --pypi-mirror=<url> 有什么区别?看来这两种方法都适合我。

【问题讨论】:

  • 使用 --index,您可以从自己的私有 pypi 存储库进行安装,例如 devpi 服务器。
  • 我还没有使用任何私有索引。也许这就是让我对这两个参数感到困惑的原因。就我而言,我只使用 PyPI 镜像。将镜像 url 传递给 --pypi-mirror--index 都对我有用。

标签: python pip pipenv


【解决方案1】:

这是一个有趣的问题,pipenv 的文档并不清楚这两个选项的区别,那么最好的来源是its source code,从 v2018.11.26 版本开始,它的行为大致如下:

  • 您可以指定多个--index,它们构成了包的源列表,它们可以是 PyPI url 或私有存储库 url。
  • 只能指定一个--pypi-mirror
  • 如果使用--pypi-mirror,对于源列表中的每个PyPI源url,将被替换为镜像url。
  • 最后,pipenv 将所有源发送到pip install,如果有多个源,则使用--index-url--extra-index-url 选项。

如果你只从 PyPI 安装,两种方法的最终效果是一样的。

【讨论】:

    【解决方案2】:

    在我从 CLI 运行 pipenv v2021.5.29 的情况下,要替换 url 中具有私有 PyPI 地址和凭据的 pip --undex-url,我应该使用 pipenv --pypi-mirror,否则 pipenv --index 将无法找到包。

    【讨论】:

      猜你喜欢
      • 2019-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-26
      • 1970-01-01
      • 1970-01-01
      • 2019-01-27
      • 1970-01-01
      相关资源
      最近更新 更多