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

时间:2013-05-09 21:16:18

标签: python testing pypi tox

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

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

4 个答案:

答案 0 :(得分:7)

Pip也可以使用environment variables配置,tox允许您set in the configuration

setenv =
    PIP_USE_MIRRORS=...

或者,您可以指定一系列index servers to use

indexserver = 
    default = http://mypypi.org
    foobar = http://otherpypi.org

default是使用的默认索引服务器,但其他名称可用于从特定服务器获取deps列表中的依赖项:

deps = 
    :foobar:ham-spam-pkg

答案 1 :(得分:3)

可以将Tox配置为从其他默认PyPI服务器安装依赖项和包:

  • as tox命令行参数

    <?
    $servername = "exase";
    $username = "exaus";
    $password = "exapw";
    $dbname = "exa_db";
    
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 
    
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 
    
  • 使用tox -i http://pypi.my-alternative-index.org

    tox.ini

Link to Tox documentation on using a different default PyPI url

答案 2 :(得分:3)

由于indexserverdeprecated且已删除且--use-mirrorsdeprecated,因此您可以使用install_command(在您的环境部分中):

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

答案 3 :(得分:0)

来自pip文档:

pip的命令行选项可以使用环境变量设置,格式为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,例如设置:

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