Failed to start scons, getting import error

I installed scons 2.3.2 and have python 2.4.

When I run scons, I see the following error:

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

I found a find and found that SCons is present in / usr / lib / scons. I’m not sure why the sons cannot lift it.

What am I missing?

+2
source share
1 answer

The problem (from the bottom of the trace) is a syntax error:

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

This is because you are using a version of Python that does not support conditional expressions:

Support for this syntax was added in 2.5, see docs

+5
source

All Articles