[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-glpk] [Fwd: PyGLPK or python-glpk]
From: |
Xypron |
Subject: |
Re: [Help-glpk] [Fwd: PyGLPK or python-glpk] |
Date: |
Tue, 25 Jan 2011 21:00:17 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.16) Gecko/20101123 SeaMonkey/2.0.11 |
Hello Kevin,
Python-GLPK from
http://www.dcc.fc.up.pt/~jpp/code/python-glpk/
uses SWIG for building.
This is what it takes to build on Debian:
#install SWIG
sudo apt-get install swig
#Download the source
wget
http://www.dcc.fc.up.pt/~jpp/code/python-glpk/python-glpk_0.4.43.orig.tar.gz
# unzip
tar -xzf python-glpk_0.4.43.orig.tar.gz
# goto source directory
cd python-glpk-0.4.43/src
# make and install
sudo make install
# move to examples
cd ../examples
# run an example
python example.py
Building on OS X will require to modify src/swig/Makefile.
You will have to change the following line
gcc -Wall -shared glpkpi.o glpkpi_wrap.o -lm -lglpk -o _glpkpi.so
The following page contains some useful information on using SWIG on OS X.
http://www.penzilla.net/tutorials/python/swig/
In src/setup.py you may have to change pathes.
In src/Makefile rework the clean section.
If you are successful, please, post a message with your Makefiles.
In Python-GLPK the following is missing:
- handling API errors without aborting
- callbacks
If you look at GLPK for Java you can get an idea off the effort to build
a language binding with SWIG that handles these.
The official documentation for extending Python can be found at:
http://docs.python.org/extending/
The following book has a useful chapter on extending Python:
Mark Lutz, Programming Python, O'Reilly Media, ISBN 0596158106
http://www.rmi.net/~lutz/about-pp4e.html
Best regards
Xypron
Nigel Galloway wrote:
Kevin,
You may wish to try building the bindings using SWIG, see:
http://lists.gnu.org/archive/html/help-glpk/2007-05/msg00076.html
and
http://lists.gnu.org/archive/html/help-glpk/2009-03/msg00023.html
SWIG is well documented and included with most recent linux distributions. It
is the technology used for glpk-java. Unfortuanately the files I used for
Python are no longer on the web. but they can be recovered and I will assist
you if you find difficulties.
The only difficulty I have experienced is that 'in' and 'out' are reseved words
in Python and glpk uses them as procedure names. SWIG has a default work around
for this.
Good Luck
Nigel