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.txt
or install packages individually.
$ pip install sphinx
$ pip install sphinxjp.themes.basicstrap
$ pip install python-igraph
$ pip install PyYAML
This 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-dev
orpython3.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 install
On 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.py
to 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.py
The 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 update
then run:
$ apt-get install python3.4 python3.4-dev
Now follow the rest of the installation.