If a pre-built SCons package is not available for your system, then you can still easily build and install SCons using the native Python distutils package.
The first step is to download either the scons-2.0.0.final.0.tar.gz or scons-2.0.0.final.0.zip, which are available from the SCons download page at http://www.scons.org/download.html.
Unpack the archive you downloaded, using a utility like tar on Linux or UNIX, or WinZip on Windows. This will create a directory called scons-2.0.0.final.0, usually in your local directory. Then change your working directory to that directory and install SCons by executing the following commands:
# cd scons-2.0.0.final.0 # python setup.py install
This will build SCons, install the scons script in the python which is used to run the setup.py's scripts directory (/usr/local/bin or C:\Python25\Scripts), and will install the SCons build engine in the corresponding library directory for the python used (/usr/local/lib/scons or C:\Python25\scons). Because these are system directories, you may need root (on Linux or UNIX) or Administrator (on Windows) privileges to install SCons like this.
The SCons setup.py script has some extensions that support easy installation of multiple versions of SCons in side-by-side locations. This makes it easier to download and experiment with different versions of SCons before moving your official build process to a new version, for example.
To install SCons in a version-specific location,
when you call setup.py:
# python setup.py install --version-lib
This will install the SCons build engine in the /usr/lib/scons-2.0.0.final.0 or C:\Python25\scons-2.0.0.final.0 directory, for example.
If you use the
the first time you install SCons,
you do not need to specify it each time you install
a new version.
The SCons setup.py script
will detect the version-specific directory name(s)
and assume you want to install all versions
in version-specific directories.
You can override that assumption in the future
by explicitly specifying the
You can install SCons in locations other than
the default by specifying the
# python setup.py install --prefix=/opt/scons
This would install the scons script in /opt/scons/bin and the build engine in /opt/scons/lib/scons,
Note that you can specify both the
at the same type,
in which case setup.py
will install the build engine
in a version-specific directory
relative to the specified prefix.
--version-lib to the
above example would install the build engine in
If you don't have the right privileges to install SCons in a system location, simply use the --prefix= option to install it in a location of your choosing. For example, to install SCons in appropriate locations relative to the user's $HOME directory, the scons script in $HOME/bin and the build engine in $HOME/lib/scons, simply type:
$ python setup.py install --prefix=$HOME
You may, of course, specify any other location you prefer,
and may use the
if you would like to install version-specific directories
relative to the specified prefix.
This can also be used to experiment with a newer
version of SCons than the one installed
in your system locations.
Of course, the location in which you install the
newer version of the scons script
($HOME/bin in the above example)
must be configured in your
before the directory containing
the system-installed version
of the scons script.