<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Jan 6, 2014 at 9:55 PM, Chris Barker <span dir="ltr"><<a href="mailto:chris.barker@noaa.gov" target="_blank">chris.barker@noaa.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="im">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><div class="gmail_extra"><div class="gmail_quote"><div class="im">

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

<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><div>[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 class="im"><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">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><div>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" target="_blank">python.org</a> builds, and point your users to binaries they can get elsewhere (Chris Gohlke's site for Windows...)</div>
<div class="im">

<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">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><div>Are these for the <a href="http://python.org" target="_blank">python.org</a> builds? good for you!</div><div class="im"><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><div>Why not distutils for building Windows? I find it really helpful. </div><div class="im"><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><div>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></div></div></blockquote><div><br></div><div>We don't use mingw to build packages distributed within canopy (at least not anymore). We build everything with MSVC 2008, as mixing mingw/MSVC often causes trouble.</div>
<div><br></div><div>We do provide mingw so that people can build extensions without depending on MS toolchain, but that's not a setup I would recommend in general. It works well for extensions that don't depend much on the C runtime (numpy is a good example), but as soon as you manipulate IO, etc... you encounter issues linked to ABI incompatibilities between what you get from the python runtime and mingw.</div>
<div><br></div><div>David </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div class="im">

<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><div>You want to take a look at conda:</div><div><br></div><div><a href="https://github.com/pydata/conda" target="_blank">https://github.com/pydata/conda</a><br></div><div><br></div><div>If you can build a conda recipe then you are set to go...</div>


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

<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'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><div>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 class="im">

<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><div>no -- except by hand with custom code.</div><div> </div><div><br></div><div>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><br></div><div><a href="https://github.com/faircloth-lab/conda-recipes/tree/master/boost" target="_blank">https://github.com/faircloth-lab/conda-recipes/tree/master/boost</a><br></div><div><br></div><div>If you want your users to be able to use any of:</div>


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

<div><br></div><div>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><br></div><div><a href="http://sourceforge.net/projects/gattai/" target="_blank">http://sourceforge.net/projects/gattai/</a><br></div><div><br></div><div>HTH,</div><div>  -Chris</div><span class="HOEnZb"><font color="#888888"><div>
<br></div>

</font></span></div><span class="HOEnZb"><font color="#888888"><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            <a href="tel:%28206%29%20526-6959" value="+12065266959" target="_blank">(206) 526-6959</a>   voice<br>

7600 Sand Point Way NE   <a href="tel:%28206%29%20526-6329" value="+12065266329" target="_blank">(206) 526-6329</a>   fax<br>Seattle, WA  98115       <a href="tel:%28206%29%20526-6317" value="+12065266317" target="_blank">(206) 526-6317</a>   main reception<br>
<br><a href="mailto:Chris.Barker@noaa.gov" target="_blank">Chris.Barker@noaa.gov</a>
</font></span></div></div>
<br>_______________________________________________<br>
Distutils-SIG maillist  -  <a href="mailto:Distutils-SIG@python.org">Distutils-SIG@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/distutils-sig" target="_blank">https://mail.python.org/mailman/listinfo/distutils-sig</a><br>
<br></blockquote></div><br></div></div>