Запуск scons в среде Windows 10 с Python 2.7 и Python 3

Как запустить scons в Windows 10, если установлены Python 3.6.1 и Python 2.7.13? При вводе 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, меня это устраивает, и я не хочу это менять.

При вводе 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. Как я могу «сказать» 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):

person Vertexwahn    schedule 31.07.2017    source источник


Ответы (2)


Попробуйте изменить строку 23 в scons.bat с:

python "%scriptname%" %*

to

py -2  "%scriptname%" %*

Обратите внимание, что работа по запуску SCons под py 2 и py 3.5+ в основном завершена и должна быть выпущена в следующем месяце (или около того).

person bdbaddog    schedule 31.07.2017

Прежде чем запускать scons в Powershell, измените переменную среды PATH, чтобы ваша установка Python 2.7 была впереди. Что-то типа:

SET PATH=C:\Python27;%path%
person BoarGules    schedule 31.07.2017