Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 斯科恩斯,MSys,“;不被识别为内部或外部命令”;错误_Python_Scons_Msys - Fatal编程技术网

Python 斯科恩斯,MSys,“;不被识别为内部或外部命令”;错误

Python 斯科恩斯,MSys,“;不被识别为内部或外部命令”;错误,python,scons,msys,Python,Scons,Msys,我正在尝试使用SCON设置一个项目,以便在Windows7上进行编译。在MSys外壳中,我将cd刻录到适当的文件夹并运行: scons target=setup …我得到以下输出: scons: Reading SConscript files ... SCons 2.0.1 OS="'{' is not recognized as an internal or external command, operable program or batch file." Compiler versio

我正在尝试使用SCON设置一个项目,以便在Windows7上进行编译。在MSys外壳中,我将cd刻录到适当的文件夹并运行:

scons target=setup
…我得到以下输出:

scons: Reading SConscript files ...
SCons 2.0.1
OS="'{' is not recognized as an internal or external command,
operable program or batch file."
Compiler version check failed - need gcc 3.x or later:
CC: gcc None
CXX: g++ None
目录中SConscript文件的开头是:

import os, sys, commands, string
from makeversion import get_version
# OS Detection:
OS = commands.getoutput('uname')

在我看来,最后一行是错误的根源。为什么会出现错误?我将如何修复它?

如果在msys命令行中键入uname,它是否会打印相同的错误?我可以看出,如果您输入“uname”一个正常的win 7命令提示符,就会出现这种错误。此外,使用getoutput并不是检测操作系统的一种便携方式。您可以使用python的os.uname()方法,该方法适用于任何平台。如果您是对的,当我在python提示符中键入commands.getoutput时,会出现相同的错误。我可以用platform.system()替换它,它修复了错误。谢谢它仍然遇到问题,无法识别我的gcc和g++很高兴这有帮助。请注意,SCON是在干净的环境中构建的,因此构建脚本必须为CC和工具链的其余部分设置正确的变量。它不会自动从命令行环境“继承”环境变量。您可以发布或粘贴您的SConstruct吗?