SCons problem - dont understand Variables class
Question
I'm working on an SConstruct build file for a project and I'm trying to update from Options to Variables, since Options is being deprecated. I don't understand how to use Variables though. I have 0 python experience which is probably contributing to this.
For example, I have this:
opts = Variables()
opts.Add('fcgi',0)
print opts['fcgi']
But I get an error:
AttributeError: Variables instance has no attribute '__getitem__':
Not sure how this is supposed to work
Solution
Typically you would store the variables in your environment for later testing.
opts = Variables()
opts.Add('fcgi',0)
env = Environment(variables=opts, ...)
Then later you can test:
if env['fcgi'] == 0:
# do something
OTHER TIPS
That specific error tells you that class Variables
hasn't implemented python's __getitem__
interface which would allow you to use [ ...]
on opts
. If all you want to do is print out your keys, the Variables
documentation seems to indicate that you can iterate over your keys:
for key in opts.keys():
print key
Or you can print out the help text:
print opts.GenerateHelpText()