【问题标题】:How to create architecture specific environments in tox如何在 tox 中创建特定于架构的环境
【发布时间】:2020-02-10 20:36:33
【问题描述】:

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

[testenv:py36]
...

是否有可能以某种方式将此条目拆分为 32 位和 64 位版本:

[testenv:py36-32bit]
...

[testenv:py36-64bit]
...

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

【问题讨论】:

    标签: python tox


    【解决方案1】:

    现在可以不用插件。请参阅文档here

    添加以下内容对我有用。

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

    【讨论】:

      【解决方案2】:

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


      感谢tox-interpreters 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())"
      

      【讨论】:

        猜你喜欢
        • 2011-06-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-17
        • 2017-09-05
        • 1970-01-01
        相关资源
        最近更新 更多