how to build a MacOS universal python package including external dependencies

Jaime Huerta Cepas jhuerta at
Thu Sep 25 10:11:34 CEST 2008

Thanks Mathieu,

I think MacPorts will be the easiest way (all dependencies are available).
I could even base the installation script on  "port" commands.
The major problem will be to compile Qt4, which takes hours and requires

thnks, again.

On Wed, Sep 24, 2008 at 6:44 PM, Mathieu Prevot <mathieu.prevot at>wrote:

> 2008/9/24 Jaime Huerta Cepas <jhuerta at>:
> > Hi all,
> >
> > I have developed a set python libraries that provide several scientific
> > methods to analyse and visualize certain type of biological data.  This
> > libraries are based on many external python modules, such as python-mysql
> > python-sip or python-qt4. I use GNU/linux to develop my tools and I found
> no
> > problems into installing all dependencies, however it does not seem to be
> > that easy on MacOS. I am sure that all the dependencies (qt4, pyqt4 ,
> > mysqldb, scipy, numpy) are cross platform, but when you are trying to
> > publish your tool in an academic journal, most referees (many of them
> using
> > MacOS) expect some kind of straightforward installation process for the
> > tool.
> >
> > I wonder if there would be a way in which I could compile all the
> > dependencies and libraries in a MacOs system and then building a static
> > universal binary that I can distribute. I guess  it should be possible,
> but
> > I am not sure how difficult it might be, and whether all dependencies
> (qt4
> > is huge) can be packaged together.
> IMHO this is too complex to commit. Macport is a way to do what you
> want, but packages may not be up to date enough. Maybe the easiest and
> simplest way for you to do this is to write a script that will
> download, compile and install everything.
> The script should work like:
> sudo
> and then wait for jobs to be done. Your script will need to know if a
> package was sucessfully installed and then continue or take steps and
> say it. For a complex set of dependencies, I recommend you to write
> Makefiles.
> For instance, in pseudo-code:
> if /usr/local/lib/libfoo.dylib doesn't exist
>  download foo
>  install foo
> if python-module foo doesn't exist
>  download foo
>  python foo/ install
> etc
> Mathieu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Python-list mailing list