运行 scons on Windows 10 环境 Python 2.7 和 Python 3

Run scons on Windows 10 environment with Python 2.7 and Python 3

如果安装了 Python 3.6.1 和 Python 2.7.13,我如何在 Windows 10 上 运行 scons?在我的命令 window 中输入 python 时,我得到以下输出:

Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

因为我个人使用 Python 3.6.x 这对我来说很好,我不想改变它。

在我的命令 window 中输入 py -2 时,我得到以下输出:

Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:42:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

scons 不适用于 Python 3.x。需要用Python 2.7.x来执行。我怎样才能 "tell" scons 使用 Python 2.7.x?

当我在命令提示符中键入 scons 时,我得到以下输出:

PS C:\dev\projectX> scons
Fatal Python error: Py_Initialize: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'

Current thread 0x00007050 (most recent call first):

在 Powershell 中 运行 scons 之前,修改 PATH 环境变量以将 Python 2.7 安装放在前面。类似于:

SET PATH=C:\Python27;%path%

尝试将 scons.bat 中的第 23 行更改为:

python "%scriptname%" %*

py -2  "%scriptname%" %*

请注意,在 py 2 和 py 3.5+ 下使 SCons 达到 运行 的工作已基本完成,应该会在下个月(左右)发布