This is a pedagogically-oriented attempt to implement aspects of the Carneades Argument Evaluation framework. It closely follows the Haskell implementation in the CarneadesDSL package.
- Python3.4
- igraph
- pycairo (for igraph)
- PyYAML (Must)
- Virtualenv (Optional)
- Sphinx (docs only)
- Basicstrap theme for sphinx (docs only)
Note for Linux users (especially Ubuntu 12.04 users): follow this link to have more info about installing the python distro.
$ virtualenv -p python3.4 envname
$ source /envname/bin/activate$ pip install -r Requirements.txtor install packages individually.
$ pip install sphinx
$ pip install sphinxjp.themes.basicstrap$ pip install python-igraph$ pip install PyYAMLThis should also install the C bindings. If that doesn't happen because of some error, it's likely to be one of the following problems:
-
The header files for the python distribution are not installed. Look up
python-devorpython3.4-dev -
You need to compile the C code from source: download it here and follow the instructions. In general you should only need to follow the standard procedure:
$ ./configure
$ make
$ make installOn Ubuntu, check this package.
If you are using a virtualenv or you don't use Ubuntu, do the following:
- Download and extract the pycairo package in the virtualenv
$ curl http://cairographics.org/releases/pycairo-1.10.0.tar.bz2 -O
$ tar xvf pycairo-1.10.0.tar.bz2
$ cd pycairo-1.10.0/- edit a file in the hidden .waf folder that the extraction has created (e.g.
./.waf-1.6.4-e3c1e08604b18a10567cfcd2d02eb6e6. To do this, go into the folder and edit./.waf-1.6.4-somenumbers/waflib/Tools/python.pyto call the python3.4-config directly.
--- waflib/Tools/python.py.old 2014-08-01 14:36:23.750613874 +0000
+++ waflib/Tools/python.py 2014-08-01 14:36:38.359627761 +0000
@@ -169,7 +169,7 @@
conf.find_program('python-config-%s'%num,var='PYTHON_CONFIG',mandatory=False)
includes=[]
if conf.env.PYTHON_CONFIG:
- for incstr in conf.cmd_and_log(conf.env.PYTHON+[conf.env.PYTHON_CONFIG,'--includes']).strip().split():
+ for incstr in conf.cmd_and_log([conf.env.PYTHON_CONFIG,'--includes']).strip().split():
if(incstr.startswith('-I')or incstr.startswith('/I')):
incstr=incstr[2:]
if incstr not in includes:- compile and install the package
$ ./waf configure --prefix=$VIRTUAL_ENV
$ ./waf build
$ ./waf install$ git clone https://github.com/ewan-klein/carneades.git
$ cd carneades$ cd doc
$ make html$ cd ../src # relative root is carneades/
$ python -i caes.py$ cd ../src # relative root is carneades/
$ python reader_tests.pyThe following is to install python3.4 on Ubuntu 12.04 LTS. Other distributions should do more or less the same. If you have a newer installation of Ubuntu or derivatives, you can probably skip some passages.
WARNING: Although unlikely, this might break your python2 installation, so do it at your own risk or set up a VM
Unless you want to build from source (In which case, kudos!), add this PPA to your apt source list:
$ add-apt-repository ppa:fkrull/deadsnakes
$ apt-get updatethen run:
$ apt-get install python3.4 python3.4-devNow follow the rest of the installation.