代码之家  ›  专栏  ›  技术社区  ›  KansaiRobot

Tox找不到python解释器

  •  -1
  • KansaiRobot  · 技术社区  · 1 年前

    我刚安装了pyenv。之后,我在系统中安装了python 3.8.0

    所以我有

    pyenv versions
      system
    * 3.8.0 (set by /home/me/.pyenv/version)
    

    我有毒素.ini

    [tox]
    envlist = py36,py38
    skipsdist = True
    
    [testenv]
    # instsall pytest in the virtualenv where commands will be executed
    deps = pytest
    commands = 
        #NOTE: you can run any command line tool here -not just tests
        pytest
    

    当我尝试从系统中提取毒素时,它找不到py38,但当我找到的时候 pyenv global 3.8.0 它奏效了。 嗯,我必须输入版本吗?-我问自己

    然后我安装了python 3.9.16,所以现在我有了

    pyenv versions
      system
      3.8.0
    * 3.9.16 (set by /home/me/.pyenv/version)
    

    我在中的envlist中添加了py39 tox.ini

    [tox]
    envlist = py36,py38,py39
    skipsdist = True
    
    [testenv]
    # instsall pytest in the virtualenv where commands will be executed
    deps = pytest
    commands = 
        #NOTE: you can run any command line tool here -not just tests
        pytest
    

    然而现在,它总是失败。

    • 如果我在3.8.0中,它找不到3.9.16
    • 如果我在3.9.16中,它找不到3.8.0

    奇怪的是里面 .tox 文件夹有三个完整的文件夹,分别是py36、py38和py39

    但毒素不能把它们全部杀死。

    如何解决这一问题?

    1 回复  |  直到 1 年前
        1
  •  1
  •   Jürgen Gmach    1 年前

    如@9769953所述,这在的自述中有解释 pyenv :

    您可以同时激活多个版本,包括同时激活Python2或Python3的多个版本。这允许并行使用Python2和Python3,并且是tox等工具所必需的。例如,要指示Pyenv首先使用您的系统Python和Python3(例如2.7.9和3.4.2),但也有可用的Python 3.3.6、3.2.1和2.5.2,请首先安装缺少的版本,然后设置Pyenv全局系统3.3.6 3.2.1 2.5.2。