Croizat on Mac OS X

Dear ALL,

I received a report of a Mac OS X user who attempted to run my
recently released biodiversity mapping software based on MPL/Basemap
and wxPython.

As I have no access to an Apple Macintosh machine nor have much
experience with that OS anyway, I am posting the error report here in
the hope some of you nice guys can help.

I am also posting the steps the user followed in order to install the
software on the Mac OS X. From the error log, it looks that there may
be some issue with the version fo MPL he is using (which is the one
packaged with Enthought Python).

Thanks in advance for any assistance you can provide.

With best regards,

···

========================
Getting the package to work:

1. need networkx
download .egg file from here:
http://pypi.python.org/pypi/networkx/

install with:
easy_install /Users/nick/Desktop/downloads/networkx-0.99-py2.5.egg

(get easy_install from here:
http://peak.telecommunity.com/DevCenter/EasyInstall#installing-easy-install
http://peak.telecommunity.com/DevCenter/EasyInstall#downloading-and-installing-a-package
)

2. need mpl_toolkits.basemap:

download source from here:
http://sourceforge.net/project/showfiles.php?group_id=80706&package_id=142792/&abmode=1

install instructions:
http://matplotlib.sourceforge.net/basemap/doc/html/users/installing.html

2.1 - download & unpack
cd /Users/nick/Desktop/downloads/basemap-0.99.3/
cd geos-2.2.3
export GEOS_DIR=/usr/local
./configure --prefix=$GEOS_DIR
make
sudo make install
cd ..
python setup.py install

in python:
mpl_toolkits.basemap import Basemap

need matplotlib 0.98 not 0.91

in python:
mpl_toolkits.basemap import Basemap

need matplotlib 0.98 not 0.91

2.2 - download updated version
http://sourceforge.net/project/showfiles.php?group_id=80706

download basemap:
http://sourceforge.net/project/showfiles.php?group_id=80706&package_id=142792&release_id=653688

double click:
matplotlib-0.98.5.2-py2.5-macosx10.5.mpkg

3. that didn't work, installing WHOLE NEW VERSION of Enthought which
has matplotlib 0.98
http://www.enthought.com/products/epddownload.php

redo install of basemap:
http://matplotlib.sourceforge.net/basemap/doc/html/users/installing.html

cd /Users/nick/Desktop/downloads/basemap-0.99.3/
cd geos-2.2.3
export GEOS_DIR=/usr/local
./configure --prefix=$GEOS_DIR
make
sudo make install
cd ..
python setup.py install

in python:
mpl_toolkits.basemap import Basemap
invalid syntax

from mpl_toolkits.basemap import Basemap
this works!

test:
cd examples
python simpletest.py
python run_all.py

basemap: most things worked, but not all. Neat mapping capability!
Probably slow though...

Basically, the most important thing was re-installing the newest
version of Enthought, so as to get matplotlib 0.98, and then
installing basemap.

So I got all of that working, then ran 'python Croizat.py' and got the
following error which has me stymied:

==========================================
mws2:/bioinformatics/croizat/Croizat nick$ python -V
Python 2.5.2 |EPD Py25 4.1.30101|

mws2:/bioinformatics/croizat/Croizat nick$ python Croizat.py

matplotlib data path
/Library/Frameworks/Python.framework/Versions/4.1.30101/lib/python2.5/site-packages/matplotlib-0.98.3.0001-py2.5-macosx-10.3-fat.egg/matplotlib/mpl-data
loaded rc file /Users/nick/.matplotlib/matplotlibrc
matplotlib version 0.98.3
verbose.level helpful
interactive is True
units is False
platform is darwin
numerix numpy 1.1.1
$HOME=/Users/nick
CONFIGDIR=/Users/nick/.matplotlib
Using fontManager instance from /Users/nick/.matplotlib/fontManager.cache
backend TkAgg version 8.4
Traceback (most recent call last):
File "Croizat.py", line 71, in <module>
   Croizat = Application(0)
File "/Library/Frameworks/Python.framework/Versions/4.1.30101/lib/python2.5/site-packages/wxPython-2.8.7.1.0003_s-py2.5-macosx-10.3-fat.egg/wx/_core.py",
line 7836, in __init__
   self._BootstrapApp()
File "/Library/Frameworks/Python.framework/Versions/4.1.30101/lib/python2.5/site-packages/wxPython-2.8.7.1.0003_s-py2.5-macosx-10.3-fat.egg/wx/_core.py",
line 7433, in _BootstrapApp
   return _core_.PyApp__BootstrapApp(*args, **kwargs)
File "Croizat.py", line 62, in OnInit
   MainWindow = MainForm(None, -1, "")
File "/home/maurobio/Projetos/Croizat/source/MainForm.py", line 201,
in __init__
File "/home/maurobio/Projetos/Croizat/source/MainForm.py", line 320,
in __do_layout
File "/home/maurobio/Projetos/Croizat/source/MainForm.py", line 1187,
in DrawMap
File "/Library/Frameworks/Python.framework/Versions/4.1.30101/lib/python2.5/site-packages/basemap-0.99.1.0001-py2.5-macosx-10.3-fat.egg/mpl_toolkits/basemap/__init__.py",
line 1361, in drawcoastlines
   self.set_axes_limits(ax=ax)
File "/Library/Frameworks/Python.framework/Versions/4.1.30101/lib/python2.5/site-packages/basemap-0.99.1.0001-py2.5-macosx-10.3-fat.egg/mpl_toolkits/basemap/__init__.py",
line 2501, in set_axes_limits
   figManager.canvas.draw()
AttributeError: 'NoneType' object has no attribute 'canvas'

--
Dr. Mauro J. Cavalcanti
Ecoinformatics Studio
P.O. Box 46521, CEP 20551-970
Rio de Janeiro, RJ, BRASIL
E-mail: maurobio@...287...
Web: http://studio.infobio.net
Linux Registered User #473524 * Ubuntu User #22717
"Life is complex. It consists of real and imaginary parts."

Maybe a backend problem, since your soft is based on wx and the user
uses Tk :
...

Using fontManager instance from /Users/nick/.matplotlib/fontManager.cache
backend TkAgg version 8.4
Traceback (most recent call last):
File "Croizat.py", line 71, in <module>
   Croizat = Application(0)

...

···

--
Lionel Roubeyrie
chargé d'études
LIMAIR - La Surveillance de l'Air en Limousin
http://www.limair.asso.fr