<div dir="ltr">On Mon, Jan 6, 2014 at 12:26 PM, Steve Spicklemire <span dir="ltr"><<a href="mailto:steve@spvi.com" target="_blank">steve@spvi.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">

<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">avoid troubling anyone with pesky questions. In that respect I've apparently failed, because here comes the question!<br>

</blockquote><div><br></div><div style>I think this is a use case that  is quite useful for us all to chew on a bit...</div><div><br></div><div style>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.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">I'm helping out with a python package: vpython <<a href="http://vpython.org" target="_blank">http://vpython.org</a>></blockquote>

<div><br></div><div style>[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...)</div><div style> <br></div>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">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. </blockquote>

<div><br></div><div style>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 <a href="http://python.org">python.org</a> builds, and point your users to binaries they can get elsewhere (Chris Gohlke's site for Windows...)</div>

<div style><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">At the moment we're creating binary releases of vpython for windows and mac and posting them on sourceforge <<a href="https://sourceforge.net/projects/vpythonwx/" target="_blank">https://sourceforge.net/projects/vpythonwx/</a>>. </blockquote>

<div><br></div><div style>Are these for the <a href="http://python.org">python.org</a> builds? good for you!</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

Bruce has been building the windows binary using VC (no setup.py) in a way that's compatible <a href="http://withpython.org" target="_blank">withpython.org</a> python for windows. I've been building the mac version using a setup.py script I cobbled together that works on MacOSX and Linux.</blockquote>

<div><br></div><div style>Why not distutils for building Windows? I find it really helpful. </div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

I've noticed that the anaconda system that C.A. installs uses MinGW on windows to build extensions. </blockquote><div><br></div><div style>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 ;-)</div>

<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">I'd love to figure out how to build vpython under this system so that my windows users could use them together transparently.</blockquote>

<div><br></div><div style>You want to take a look at conda:</div><div style><br></div><div style><a href="https://github.com/pydata/conda">https://github.com/pydata/conda</a><br></div><div style><br></div><div style>If you can build a conda recipe then you are set to go...</div>

<div style><br></div><div style>That being said, it is supposed to be a goal for Anaconda to be binary compatible with the <a href="http://python.org">python.org</a> 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.</div>

<div style><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">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).<br>

</blockquote><div><br></div><div style>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...</div>

<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Is there any way, *today*, to incorporate dependencies on external libraries (e.g., boost) in setup.py?<br>

</blockquote><div><br></div><div style>no -- except by hand with custom code.</div><div> </div><div><br></div><div style>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:</div>

<div style><br></div><div style><a href="https://github.com/faircloth-lab/conda-recipes/tree/master/boost">https://github.com/faircloth-lab/conda-recipes/tree/master/boost</a><br></div><div style><br></div><div style>If you want your users to be able to use any of:</div>

<div style><br></div><div style>Anaconda</div><div style>Python.org python</div><div style>Canopy</div><div style><br></div><div style>Then I'd look into building binary wheels, and see if you can get them to work with Anaconda and Canopy.</div>

<div style><br></div><div style>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:</div>

<div style><br></div><div style><a href="http://sourceforge.net/projects/gattai/">http://sourceforge.net/projects/gattai/</a><br></div><div style><br></div><div style>HTH,</div><div style>  -Chris</div><div style><br></div>

</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div>-- <br><br>Christopher Barker, Ph.D.<br>Oceanographer<br><br>Emergency Response Division<br>NOAA/NOS/OR&R            (206) 526-6959   voice<br>

7600 Sand Point Way NE   (206) 526-6329   fax<br>Seattle, WA  98115       (206) 526-6317   main reception<br><br><a href="mailto:Chris.Barker@noaa.gov" target="_blank">Chris.Barker@noaa.gov</a>
</div></div>