-
Notifications
You must be signed in to change notification settings - Fork 20
Installing required libraries
ASP currently requires Python 2.6+, plus the following libraries:
-
CodePy, a library to simplify Just-in-Time compilation and its sub-project, cgen:
- git clone http://git.tiker.net/trees/codepy.git
- git clone http://git.tiker.net/trees/cgen.git
- Add both resulting directories to your PYTHONPATH.
- Numpy, a part of the Scipy package
- Mako, a templating library
- Pytools
- Mock, a sane mocking library for writing tests
- boost.python, required by CodePy. Compiling boost from source is a pain, so rely on a package manager if possible (such as apt or brew). (Mac OS X Instructions: Installing boost on Mac OS X)
Other than Boost, these can be automatically installed if you're using the "release" versions of Asp with:
pip install asp
This will install Asp and all necessary Python libraries into your system-wide Python directory. We prefer to isolate our Python libraries using virtualenv, since Asp is rapidly being developed.
In order to connect Boost.Python and CodePy, you may need to specify some things in ~/.aksetup-defaults.py. For MacOS 10.6, I have:
BOOST_INC_DIR=['/Users/skamil/source/boost_1_43_0']
BOOST_LIB_DIR=['/Users/skamil/source/boost_1_43_0/stage/lib']
BOOST_PYTHON_LIBNAME=['boost_python']
For Ubuntu 10.10, I have:
BOOST_PYTHON_LIBNAME=['boost_python-mt-py26']
For Ubuntu 11.04, I have:
BOOST_PYTHON_LIBNAME=['boost_python-mt-py27']
For FreeBSD 8.2-RELEASE, I have:
BOOST_INC_DIR=['/usr/local/include']
BOOST_LIB_DIR=['/usr/local/lib']
BOOST_PYTHON_LIBNAME=['boost_python']
If you don't set this up correctly, you will receive the error message "/usr/bin/ld: cannot find -lboost_python-gcc43-mt".
Python 3 is currently not tested. Tested on Python 2.6 with Ubuntu 10.10 and MacOS X 10.6, and with Python 2.7.1+ on Ubuntu 11.04. For FreeBSD 8.2, tested with Python 2.7.2 installed via ports. For Ubuntu, all but CodePy can be installed via apt-get:
sudo apt-get install python-numpy python-mako libboost-python-dev python-pytools python-mock python-pip python-unittest2
For FreeBSD, the following ports should be installed:
py27-numpy, py27-mako, py27-sqlite3, boost-python-libs
along with their dependencies. Otherwise, use easy_install
or pip
to install the rest of the required libraries:
unittest2, mock, cgen, codepy