如何在tox中创建特定于体系结构的环境

2024-06-02 06:56:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个python C扩展,它依赖于特定于体系结构(32位/64位)的C模块。我想在不同的tox环境中处理它们。默认情况下,只能为不同的python版本创建单独的环境,但不能为不同的体系结构创建单独的环境:

[testenv:py36]
...

是否可以将此条目拆分为32位和64位版本:

[testenv:py36-32bit]
...

[testenv:py36-64bit]
...

特别是对于Windows,这是一个大问题,因为两种体系结构都必须得到支持,甚至可能安装在一个系统中


Tags: 模块版本tox环境windows体系结构系统情况
2条回答

据我所知,这在今天是不可能的。有一个关于这个主题的讨论:


多亏了^{} plugin,也许有办法解决这个问题:

[tox]
envlist =
    ThreeSixThirtyTwo-something
    ThreeSixThirtyTwo-another
    ThreeEightSixtyFour
    ThreeEightSixtyFour-again
[testenv]
interpreter =
    ThreeSixThirtyTwo.* = A:\Path\To\Python3.6-32bits\python.exe
    ThreeEightSixtyFour.* = B:\Path\To\Python3.8-64bits\python.exe
commands =
    python -V
    python -c "import platform; print(platform.architecture())"

现在没有插件是可能的。见文件here

添加以下内容对我很有用

[tox]
envlist = py38-x86,py39

[testenv]
basepython =
    py38-x86: python3.8-32
    py39: python3.9-64

相关问题 更多 >