Python tox在Windows上在哪里搜索PyPy/PyPy3?
我使用Python tox在Windows上在哪里搜索PyPy/PyPy3?,python,pypy,tox,Python,Pypy,Tox,我使用tox对不同的Python解释器运行测试tox查找CPython解释器的我的安装,因为它们位于默认位置。然而,当我下载PyPyforWindows时,它是一个归档文件,而不是一个安装程序。我应该将PyPy/PyPy3放在哪里,以便tox自动找到它们?在Windows上这样做的方法是创建一个executabe批处理文件,作为命令的包装,并确保它位于路径中 由于tox文档中提出了这个问题,因此增加了一个部分,详细解释如下: 从原文中转述: Windows上的多个Python版本 为了在本地运行
tox
对不同的Python解释器运行测试tox
查找CPython解释器的我的安装,因为它们位于默认位置。然而,当我下载PyPyforWindows时,它是一个归档文件,而不是一个安装程序。我应该将PyPy/PyPy3放在哪里,以便tox
自动找到它们?在Windows上这样做的方法是创建一个executabe批处理文件,作为命令的包装,并确保它位于路径中
由于tox文档中提出了这个问题,因此增加了一个部分,详细解释如下:
从原文中转述:
Windows上的多个Python版本
为了在本地运行单元测试,需要安装tox.ini
中登记的所有Python版本
一种解决方案是安装最新的conda,然后通过conda envs安装所有Python版本。这将
为每个Python版本创建单独的文件夹
conda create -n python2.7 python=2.7 anaconda
要让tox找到它们,您需要:
- 将主安装版本添加到系统
PATH
变量(例如D:\Anaconda
)
- 对于其他版本,在主安装文件夹中创建一个BAT脚本,将调用委托给正确的Python解释器-例如,创建一个名为
python2.7.BAT的文件,其中包含:
@D:\Anaconda\pkgs\python-2.7.13-1\python.exe%*
这样,如果需要(类似于UNIX系统),也可以直接从cli调用匹配的Python版本,例如:
python2.7 main.py
python3.6 main.py
您应该提到,如果尝试显而易见的方法,会发生什么:将pypypy.exe
放入%PATH%
@J.F.Sebastian中的文件夹中,但是PyPy3的可执行文件也是pypypypy
,因此如果我想要两者,这不是解决方案。如果您创建调用所需pypypypy可执行文件的pypypy3.bat
。虽然如果tox
使用一些启发式方法,则可能没有必要查找pypy3可执行文件,即使它在Windows上命名为pypypy.exe
。