有没有办法告诉tox
测试自动化工具在安装所有包时使用 PyPI 镜像(显式测试依赖项tox.ini
和来自的依赖项setup.py
)?
例如,pip install
有一个非常有用的--use-mirrors
选项,可以将镜像添加到包服务器列表中。
Pip 也可以使用环境变量进行配置,它tox
允许您在配置中进行设置:
setenv =
PIP_USE_MIRRORS=...
请注意,--use-mirrors
已弃用;相反,您可以设置PIP_INDEX_URL
或PIP_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
来自 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 建议--extra-index-url <URL>
在 pip 命令之后附加多个,因此如果您需要多个额外的索引 URL,您可以使用 tox 的install_command
:
[testenv]
install_command =
python -m pip install {opts} {packages} --extra-index-url <URL1> --extra-index-url <URL2>