[SciPy-User] Roll your own python distributions

Travis Oliphant travis at continuum.io
Thu Sep 12 20:28:29 EDT 2013


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 at continuum.io mailing list or the conda mailing list.

Best,

-Travis







On Thu, Sep 12, 2013 at 8:52 AM, David Baddeley <david_baddeley at 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 at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
>
>


-- 

Travis Oliphant
Continuum Analytics, Inc.
http://www.continuum.io
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20130912/258e8b01/attachment.html>


More information about the SciPy-User mailing list