繁体   English   中英

如何告诉 tox 使用 PyPI 镜像来安装软件包?

[英]How to tell tox to use PyPI mirrors for installing packages?

有没有办法告诉tox测试自动化工具在安装所有包时使用 PyPI 镜像(在tox.ini显式测试依赖tox.ini和来自setup.py依赖项)?

例如, pip install有一个非常有用的--use-mirrors选项,可以将镜像添加到包服务器列表中。

由于indexserver弃用并将被删除,并且--use-mirrors已弃用,因此您可以使用 install_command(在您的环境部分):

[testenv:my_env]
install_command=pip install --index-url=https://my.index-mirror.com --trusted-host=my.index-mirror.com {opts} {packages}

Pip 也可以使用环境变量进行配置, tox允许您在配置中设置

setenv =
    PIP_USE_MIRRORS=...

请注意--use-mirrors已被弃用; 相反,您可以设置PIP_INDEX_URLPIP_EXTRA_INDEX_URL环境变量,代表--index-url--extra-index-url命令行选项。

例如:

setenv = 
    PIP_EXTRA_INDEX_URL=http://example.org/index

将添加http://example.org/index作为替代索引服务器,在主索引没有包时使用。

Tox 可以配置为从不同的默认 PyPI 服务器安装依赖项和包:

  • 作为 tox 命令行参数

    tox -i http://pypi.my-alternative-index.org
  • 使用tox.ini

     [tox] indexserver = default = http://pypi.my-alternative-index.org

关于使用不同的默认 PyPI url 的 Tox 文档的链接

从 pip 文档:

可以使用 PIP_<UPPER_LONG_NAME> 格式使用环境变量设置 pip 的命令行选项。 破折号 (-) 必须替换为下划线 (_)。

来源:https ://pip.pypa.io/en/stable/user_guide/#environment-variables

这转化为设置以下环境变量:

PIP_INDEX_URL=https://server1/pypi/simple
PIP_EXTRA_INDEX_URL=https://server2/pypi/simple

因此,使用 tox,您可以设置:

[testenv]
setenv = 
    PIP_INDEX_URL=https://server1/pypi/simple
    PIP_EXTRA_INDEX_URL=https://server2/pypi/simple

但是,您只能使用 PIP_EXTRA_INDEX_URL 指定一个额外的索引 url。 如果您需要多个,pip 建议在 pip 命令后附加多个--extra-index-url <URL> ,因此如果您需要多个额外的索引 URL,您可以使用 tox 的install_command

[testenv]
install_command =
    python -m pip install {opts} {packages} --extra-index-url <URL1> --extra-index-url <URL2>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM