【发布时间】:2021-04-28 18:41:04
【问题描述】:
我正在尝试使用 tox 在 Python 3.7 和 3.8 上自动测试我的项目的 pytest,但我正在努力解决如何最好地设置它。在我的 Windows 10 机器上安装多个 Python 版本以便与tox 一起使用的最简单方法是什么?
如果我只是使用官方安装程序手动安装它们,我该如何设置我的环境变量?因为每个安装都包含python.exe,所以如果我安装两个版本并将它们的路径C:\Program Files\Python37\ 和C:\Program Files\Python38\ 添加到我的Path 环境变量中,这不会区分它们...python 将只引用第一个列出。那么我是否需要手动将python.exe 文件重命名为python37.exe 和python38.exe 之类的名称?这一切看起来都非常手动和笨拙,但我找不到任何更简单的方法或教程。
tox 文档只是提供了一个使用 conda 的解决方案,但我没有使用 conda,也不想为了使用 tox 而切换到它。
如果手动设置 Python 版本路径和别名,那么如果有人克隆我的项目以在 PR 上工作并希望在本地运行测试,如果他们的 Python 安装位置不同或他们在不同的操作系统。是否有一些标准的方法来定义和设置这一切,以便在机器之间保持简单和一致?
如果这一切都是不可避免的,还有什么可以替代tox 来持续测试可以在任何机器或 CI/CD 管道上运行的多个 Python 版本的项目?
【问题讨论】:
-
您可以随时直接拨打
C:\Program Files\Python37\python。每个 Python 都知道自己的库的路径。 -
我建议通过提供完整路径来专门调用应用程序。或者 - 您可以为每个版本创建一个快捷方式。
-
那么如果有人克隆我的项目以在 PR 上工作并希望首先在本地运行测试,如果他们的 Python 安装位置不同或他们在不同的操作系统上,tox 将无法正常工作。我希望有一些标准的方法来定义和设置这一切,以便在机器之间轻松且一致。大型开源项目如何处理这个问题?贡献者是否都只是手动编辑他们的环境变量或安装位置以匹配 tox.ini?但是,如果他们为两个具有不同 tox.ini 文件的项目做出贡献,这将打破
-
您可以使用为管理多个 Python 安装而创建的 the Python launcher for Windows 吗?
py -3.7 -mtox或其他(假设tox安装为可运行模块)?