Hi all, I'm wondering if anyone knows of an easy (or relatively easy) way of putting together a scientific python distribution with a one-click installer. I've got a python package with _lots_ of dependencies and would like to give users (with relatively limited computer skills) a simple way of installing python, my package, and all the dependencies. I have previously told people to download EPD, upgrade wxpython, and install a couple of additional packages (which is already pushing it in terms of what the users are comfortable with). The switch to canopy (with the accompanying move to a package management system in which one has to manually select which packages to install) makes this infeasible. The alternative distributions (PythonXY, Anaconda etc ...) are all either 32 bit only, or lack many of the packages I need, meaning that I'd need to get users to download a much longer list of additional packages. I want a python distribution, rather than just a py2exed version as parts of my code don't work well with py2exe. Has anyone encountered this situation, and what did you do? many thanks, David
Hi David, The latest Canopy version comes with a one-click/offline installer. Cheers, Matthieu 2013/9/12 David Baddeley <david_baddeley@yahoo.com.au>:
Hi all,
I'm wondering if anyone knows of an easy (or relatively easy) way of putting together a scientific python distribution with a one-click installer. I've got a python package with _lots_ of dependencies and would like to give users (with relatively limited computer skills) a simple way of installing python, my package, and all the dependencies. I have previously told people to download EPD, upgrade wxpython, and install a couple of additional packages (which is already pushing it in terms of what the users are comfortable with). The switch to canopy (with the accompanying move to a package management system in which one has to manually select which packages to install) makes this infeasible. The alternative distributions (PythonXY, Anaconda etc ...) are all either 32 bit only, or lack many of the packages I need, meaning that I'd need to get users to download a much longer list of additional packages. I want a python distribution, rather than just a py2exed version as parts of my code don't work well with py2exe.
Has anyone encountered this situation, and what did you do?
many thanks, David
_______________________________________________ SciPy-User mailing list SciPy-User@scipy.org http://mail.scipy.org/mailman/listinfo/scipy-user
-- Information System Engineer, Ph.D. Blog: http://matt.eifelle.com LinkedIn: http://www.linkedin.com/in/matthieubrucher Music band: http://liliejay.com/
On 9/12/2013 8:52 PM, David Baddeley wrote:
Hi all,
I'm wondering if anyone knows of an easy (or relatively easy) way of putting together a scientific python distribution with a one-click installer. I've got a python package with _lots_ of dependencies and would like to give users (with relatively limited computer skills) a simple way of installing python, my package, and all the dependencies. I have previously told people to download EPD, upgrade wxpython, and install a couple of additional packages (which is already pushing it in terms of what the users are comfortable with). The switch to canopy (with the accompanying move to a package management system in which one has to manually select which packages to install) makes this infeasible. The alternative distributions (PythonXY, Anaconda etc ...) are all either 32 bit only, or lack many of the packages I need, meaning that I'd need to get users to download a much longer list of additional packages. I want a python distribution, rather than just a py2exed version as parts of my code don't work well with py2exe.
Has anyone encountered this situation, and what did you do?
many thanks, David
Hi David, I recently taught a class in which we used Python and a variety of scientific packages, and faced a similar problem. My approach was to get things downloaded and tested locally before providing a 'batteries and extras included' distribution to the students. I used Python(x,y), installed the necessary software locally into this distribution, did thorough testing of all of the packages to be used, zipped the whole enhanced distribution onto a few usb drives, and had these available for students to copy. Best regards, gyro
On Thu, 12 Sep 2013 21:10:26 +0700 Gyro Funch <gyromagnetic@gmail.com> wrote:
I used Python(x,y), installed the necessary software locally into this distribution, did thorough testing of all of the packages to be used, zipped the whole enhanced distribution onto a few usb drives, and had these available for students to copy.
WinPython is even better as it has 64-bits support. I add just a couple of .msi for the very specific stuff. Cheers, -- Jérôme Kieffer On-Line Data analysis / Software Group ISDD / ESRF tel +33 476 882 445
David, just to dwell on Mathieu's response, the move to canopy hasn't remove the ability to use the enpkg command from a terminal/command prompt to install packages. You should think of canopy as a GUI on top of EPD. Hope this helps. Jonathan On Thu, Sep 12, 2013 at 10:01 AM, Jerome Kieffer <Jerome.Kieffer@esrf.fr>wrote:
On Thu, 12 Sep 2013 21:10:26 +0700 Gyro Funch <gyromagnetic@gmail.com> wrote:
I used Python(x,y), installed the necessary software locally into this distribution, did thorough testing of all of the packages to be used, zipped the whole enhanced distribution onto a few usb drives, and had these available for students to copy.
WinPython is even better as it has 64-bits support. I add just a couple of .msi for the very specific stuff.
Cheers,
-- Jérôme Kieffer On-Line Data analysis / Software Group ISDD / ESRF tel +33 476 882 445 _______________________________________________ SciPy-User mailing list SciPy-User@scipy.org http://mail.scipy.org/mailman/listinfo/scipy-user
-- Jonathan Rocher, PhD Scientific software developer Enthought, Inc. jrocher@enthought.com 1-512-536-1057 http://www.enthought.com
On 9/12/2013 10:01 PM, Jerome Kieffer wrote:
On Thu, 12 Sep 2013 21:10:26 +0700 Gyro Funch <gyromagnetic@gmail.com> wrote:
I used Python(x,y), installed the necessary software locally into this distribution, did thorough testing of all of the packages to be used, zipped the whole enhanced distribution onto a few usb drives, and had these available for students to copy.
WinPython is even better as it has 64-bits support. I add just a couple of .msi for the very specific stuff.
Cheers,
You are right. My 'extras-included' distribution had a generic name, but now that I check carefully, I ended up using WinPython as the base. Kind regards, gyro
On Thu, Sep 12, 2013 at 2:52 PM, David Baddeley <david_baddeley@yahoo.com.au> wrote:
Hi all,
I'm wondering if anyone knows of an easy (or relatively easy) way of putting together a scientific python distribution with a one-click installer.
IIRC Matthew Brett had something like this he put together, if he doesn't pop up in the thread you might want to poke him and see if it's available/usable. -n
Hi, On Thu, Sep 12, 2013 at 12:52 PM, Nathaniel Smith <njs@pobox.com> wrote:
On Thu, Sep 12, 2013 at 2:52 PM, David Baddeley <david_baddeley@yahoo.com.au> wrote:
Hi all,
I'm wondering if anyone knows of an easy (or relatively easy) way of putting together a scientific python distribution with a one-click installer.
IIRC Matthew Brett had something like this he put together, if he doesn't pop up in the thread you might want to poke him and see if it's available/usable.
For our course we recommended Python X Y for windows. As Nathaniel said, I built my own installer for OSX - I should automate it a bit - but it worked without hitch for I guess 20 participants with Macs: Installer: http://nipy.bic.berkeley.edu/practical_neuroimaging/reginald.dmg Notes on building the thing: https://github.com/matthew-brett/reginald Cheers, Matthew
On 12 September 2013 06:52, David Baddeley <david_baddeley@yahoo.com.au>wrote:
I'm wondering if anyone knows of an easy (or relatively easy) way of putting together a scientific python distribution with a one-click installer. I've got a python package with _lots_ of dependencies and would like to give users (with relatively limited computer skills) a simple way of installing python, my package, and all the dependencies. I have previously told people to download EPD, upgrade wxpython, and install a couple of additional packages (which is already pushing it in terms of what the users are comfortable with). The switch to canopy (with the accompanying move to a package management system in which one has to manually select which packages to install) makes this infeasible. The alternative distributions (PythonXY, Anaconda etc ...) are all either 32 bit only, or lack many of the packages I need, meaning that I'd need to get users to download a much longer list of additional packages. I want a python distribution, rather than just a py2exed version as parts of my code don't work well with py2exe.
I've recently put together a template for an NSIS installer for a Python application. Instead of freezing code with py2exe or similar tools, it installs a Python interpreter using an MSI from python.org, and then sets up the application to run with that. It would certainly be possible to extend this to install a set of packages. At the moment, it's quite rough, so I wouldn't call this an easy solution, but it might be "relatively easy" depending on what alternatives you're considering. Thomas
Many thanks for all the suggestions ... at this stage I think I might end up going with WinPython and just distributing a .zip of the folder that I've set everything up in. The NSIS template definitely looks like it might be a good option for take 2 ... cheers, David ________________________________ From: Thomas Kluyver <takowl@gmail.com> To: David Baddeley <david_baddeley@yahoo.com.au>; SciPy Users List <scipy-user@scipy.org> Sent: Thursday, 12 September 2013 4:51 PM Subject: Re: [SciPy-User] Roll your own python distributions On 12 September 2013 06:52, David Baddeley <david_baddeley@yahoo.com.au> wrote: I'm wondering if anyone knows of an easy (or relatively easy) way of putting together a scientific python distribution with a one-click installer. I've got a python package with _lots_ of dependencies and would like to give users (with relatively limited computer skills) a simple way of installing python, my package, and all the dependencies. I have previously told people to download EPD, upgrade wxpython, and install a couple of additional packages (which is already pushing it in terms of what the users are comfortable with). The switch to canopy (with the accompanying move to a package management system in which one has to manually select which packages to install) makes this infeasible. The alternative distributions (PythonXY, Anaconda etc ...) are all either 32 bit only, or lack many of the packages I need, meaning that I'd need to get users to download a much longer list of additional packages. I want a python distribution, rather than just a py2exed version as parts of my code don't work well with py2exe. I've recently put together a template for an NSIS installer for a Python application. Instead of freezing code with py2exe or similar tools, it installs a Python interpreter using an MSI from python.org, and then sets up the application to run with that. It would certainly be possible to extend this to install a set of packages. At the moment, it's quite rough, so I wouldn't call this an easy solution, but it might be "relatively easy" depending on what alternatives you're considering. Thomas
Hi David, You might consider a different approach to this installation problem entirely. Rather than build your own installer, use conda and binstar to create your own "package collection". Conda is BSD and completely open and free. Binstar is a free service and you could replace it with your own conda repository if you wanted to (it's not difficult to make a conda repository --- just a directory of packages and an index file). The advantage is that users will then be able to easily manage the collection, create environments, and you will be able to more easily update their installation. This works right now. You could also do some work and make it even easier for your users. What you do: 1) Create conda packages for all libraries that are not already in repositories -- you could also copy the packages into your own repo. 2) Create a meta-package that is your "distribution" (that's all Anaconda is...) 3) Create a binstar account and upload your conda packages and the meta-package to binstar (the binstar command-line client makes this easy). What users do: 1) Install miniconda: http://repo.continuum.io/miniconda/index.html (Just Python and conda the package manager) 2) conda config -f --add channels http://conda.binstar.org/<your_org_name> 3) conda create -n <your_meta_environment> <your_meta_package_name> You could even wrap up the steps 1-3 in a simple NSIS installer (I'm sure Ilan could even give you the miniconda installer NSIS source so that you could just make your own installer that effectively does those things). You could also skip the environment creation, but creating the environment would let other meta-packages be installed and share resources without fighting over version numbers for competing packages. Ilan and I have been at this for a long while now, and we think we've found an approach that should scale with conda and binstar. The nice thing about using Miniconda is that your users now can install packages from many more people than just what you provide as well. If you have questions feel free to email and ask them to the anaconda@continuum.io mailing list or the conda mailing list. Best, -Travis On Thu, Sep 12, 2013 at 8:52 AM, David Baddeley <david_baddeley@yahoo.com.au
wrote:
Hi all,
I'm wondering if anyone knows of an easy (or relatively easy) way of putting together a scientific python distribution with a one-click installer. I've got a python package with _lots_ of dependencies and would like to give users (with relatively limited computer skills) a simple way of installing python, my package, and all the dependencies. I have previously told people to download EPD, upgrade wxpython, and install a couple of additional packages (which is already pushing it in terms of what the users are comfortable with). The switch to canopy (with the accompanying move to a package management system in which one has to manually select which packages to install) makes this infeasible. The alternative distributions (PythonXY, Anaconda etc ...) are all either 32 bit only, or lack many of the packages I need, meaning that I'd need to get users to download a much longer list of additional packages. I want a python distribution, rather than just a py2exed version as parts of my code don't work well with py2exe.
Has anyone encountered this situation, and what did you do?
many thanks, David
_______________________________________________ SciPy-User mailing list SciPy-User@scipy.org http://mail.scipy.org/mailman/listinfo/scipy-user
-- Travis Oliphant Continuum Analytics, Inc. http://www.continuum.io
participants (9)
-
David Baddeley -
Gyro Funch -
Jerome Kieffer -
Jonathan Rocher -
Matthew Brett -
Matthieu Brucher -
Nathaniel Smith -
Thomas Kluyver -
Travis Oliphant