2014-07-17 1 views
2

scons 2.3.2를 설치했으며 Python 2.4가 있습니다. 가져 오기 오류를 가져 오는 scons를 실행할 수 없습니다.

내가 SCons는 실행

, 나는 다음과 같은 오류보고 오전 :

scons 
Import failed. Unable to find SCons files in: 
    /usr/bin/../engine 
    /usr/bin/scons-local-2.3.2 
    /usr/bin/scons-local 
    /usr/lib/scons-2.3.2 
    /usr/lib/scons-2.3.2 
    /usr/local/lib/scons-2.3.2 
    /usr/lib/python2.4/site-packages/scons-2.3.2 
    /usr/lib/python2.4/site-packages/scons-2.3.2 
    /usr/local/lib/python2.4/site-packages/scons-2.3.2 
    /usr/lib64/scons-2.3.2 
    /usr/lib/scons 
    /usr/lib/scons 
    /usr/local/lib/scons 
    /usr/lib/python2.4/site-packages/scons 
    /usr/lib/python2.4/site-packages/scons 
    /usr/local/lib/python2.4/site-packages/scons 
    /usr/lib64/scons 
Traceback (most recent call last): 
    File "/usr/bin/scons", line 190, in ? 
    import SCons.Script 
    File "/usr/lib/scons/SCons/Script/__init__.py", line 76, in ? 
    import SCons.Environment 
    File "/usr/lib/scons/SCons/Environment.py", line 48, in ? 
    import SCons.Defaults 
    File "/usr/lib/scons/SCons/Defaults.py", line 52, in ? 
    import SCons.Tool 
    File "/usr/lib/scons/SCons/Tool/__init__.py", line 50, in ? 
    import SCons.Scanner.C 
    File "/usr/lib/scons/SCons/Scanner/C.py", line 36, in ? 
    import SCons.cpp 
    File "/usr/lib/scons/SCons/cpp.py", line 398 
    p = self.stack[-1] if self.stack else self.default_table 
         ^
SyntaxError: invalid syntax 

을 나는 발견을했고, SCons는에/usr/lib 디렉토리/SCons는에 존재하는 것을 발견했다. 나는 왜 스콘들이 그것을 집어 들지 못하는지 잘 모르겠습니다.

무엇이 누락 되었습니까?

답변

5

(역 추적의 바닥에서) 문제는 구문 오류입니다 : 대한

지원 : 당신이 조건식을 지원하지 않는 파이썬의 버전을 실행하고 있기 때문에

p = self.stack[-1] if self.stack else self.default_table 
         ^
SyntaxError: invalid syntax 

입니다 이 구문은 2.5에서 추가되었습니다. the docs

+0

고마워요! 파이썬 2.4에 언급 된 스콘 웹 사이트는 충분합니다 – Nikhil

+0

흠. 이는 [PEP 308] (http://legacy.python.org/dev/peps/pep-0308/)에서 초기 초안에서 2.4에서 구현 될 것이기 때문일 수 있습니다. – SiHa

+1

SCons 2.3.2 (제대로 실행되면)는 2.7 이전의 모든 Python 버전이 더 이상 사용되지 않는다고 경고해야합니다. 파이썬 2.7은 개발을위한 바닥 버전입니다. 왜냐하면 우리는 파이썬 2 + 3의 결합 된 소스 코드 기반으로 움직이고 있기 때문입니다. – dirkbaechle

관련 문제