[Pythonmac-SIG] [OT] advice on distributing for different OSs

Ronald Oussoren ronaldoussoren at mac.com
Mon May 27 10:23:06 CEST 2013


On 23 May, 2013, at 19:35, Chris Barker - NOAA Federal <chris.barker at noaa.gov> wrote:

> On Wed, May 22, 2013 at 11:49 PM, DavidWorrall <vip at avatar.com.au> wrote:
> 
>> I've been developing in Python on Mac's since b4 OSX and I have to give a
>> workshop on the other side of the world in a (networked) non-OSX university
>> lab (Windows, I think).
>> 
>> Now I know dependencies are one of python's strengths,
> 
> no, it's not! I think dependencies are still kind of a nightmare with
> Python. pip and pypi do a pretty good job with pure-python packages,
> and an OK job with compiled-with-no-other-dependencies packages, but
> packages that have other dependencies are a pain - python provides no
> support whatsoever for that.

It's unlikely that support for external dependencies will improve a lot
in the near future unless someone does the work and provides a clear and
usable specification, preferably with an implementation.

A major problem for this is that external dependencies aren't much of
a problem on Linux, most OSS C/C++ libraries are available from the 
repositories of the major Linux distribution (or add-on repositories). Because
of this a major group of Python users doesn't notice the problem, and hence
is less likely to work on a solution.

IMHO the best way forward is to build a solution for OSX, and only then try to
generalize that with support for Windows and Linux.

BTW. There is a tool that does have decent support for external dependencies:
buildout. This is used by a number of organizations, such as the Zope ecosphere,
to build and deploy complex applications and buildout projects can specify
the entire build, including stuff like database servers.

That said, I've never used buildout in anger. I have tried to debug a py2app
problem for which someone provided a buildout configuration but ended up
reproducing the problem without buildout because I couldn't get a working setup
with buildout (without reading the documentation).

Ronald


More information about the Pythonmac-SIG mailing list