[Distutils] Packaging today

Chris Barker chris.barker at noaa.gov
Mon Jan 6 22:55:08 CET 2014

On Mon, Jan 6, 2014 at 12:26 PM, Steve Spicklemire <steve at spvi.com> wrote:

> avoid troubling anyone with pesky questions. In that respect I've
> apparently failed, because here comes the question!

I think this is a use case that  is quite useful for us all to chew on a

1st -- yes "Anaconda" refers to the distribution from Continuum. Note that
"conda" is the packaging system that Anaconda uses, but it can also be used
independently of the distribution.

> I'm helping out with a python package: vpython <http://vpython.org>

[side note: fairly recently  a por tof VPython to wxPython was done -- is
that what you are using? Notable because I think wxPython is still not
available for Anaconda...)

> and I'm also teaching an intro scientific computing class this spring. I'm
> mostly a Mac/Linux user, but my students are often windows users. I would
> love to permit my students to use enthought/canopy and/or continuum
> analytics (C.A.) along with vpython.

Either/or? As an instructor, I'd recommend you pick one and go with it --
if you need wx, that means Canopy for now. Alternatively, you suggest the
python.org builds, and point your users to binaries they can get elsewhere
(Chris Gohlke's site for Windows...)

At the moment we're creating binary releases of vpython for windows and mac
> and posting them on sourceforge <
> https://sourceforge.net/projects/vpythonwx/>.

Are these for the python.org builds? good for you!

Bruce has been building the windows binary using VC (no setup.py) in a way
> that's compatible withpython.org python for windows. I've been building
> the mac version using a setup.py script I cobbled together that works on
> MacOSX and Linux.

Why not distutils for building Windows? I find it really helpful.

> I've noticed that the anaconda system that C.A. installs uses MinGW on
> windows to build extensions.

I think Canopy does that too -- at least it did a few years ago. but I
_think_ you can build extensions with either MinGW or MSVC for the same
binary python -- if it's set up right ;-)

I'd love to figure out how to build vpython under this system so that my
> windows users could use them together transparently.

You want to take a look at conda:


If you can build a conda recipe then you are set to go...

That being said, it is supposed to be a goal for Anaconda to be binary
compatible with the python.org binaries -- so you may well be able to build
the way you are, and give the users a way to install it into Anaconda. In
theory, binary wheels are the way to do this.

I'm pretty sure I could work out how to build vpython with continuum
> analytics on the mac (which means building boost + wxPython using the C.A.
> python).

ahh -- you are using wx -- I'd check with the CA folks and see where they
are at -- they said they were working on a wxPython package....and I'm sure
they'd like help and testing...

> Is there any way, *today*, to incorporate dependencies on external
> libraries (e.g., boost) in setup.py?

no -- except by hand with custom code.

I'm still a little unclear on your goals here. If you want to simple be
able to tell your students to use Anaconda  then look into conda and the CA
help lists -- and conda is more or less designed to solve these sorts of
problems. also, the odds are good that Anaconda already has boost, and if
not someone has done a conda recipe for it:


If you want your users to be able to use any of:

Python.org python

Then I'd look into building binary wheels, and see if you can get them to
work with Anaconda and Canopy.

Note: distutils does not address the third-party non-python dependency
problem -- conda tries does address it (though still not clear to me if it
helps you build them...) You may also want to look at Gattai, which aims to
help you build  them:




Christopher Barker, Ph.D.

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

Chris.Barker at noaa.gov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20140106/34eaf7e1/attachment-0001.html>

More information about the Distutils-SIG mailing list