22.12.2013, 00:28, "Martin Luessi" <[email protected]>:
> Hi all,
>
> I recently had the idea that it might be possible to use portage to
> build a scientific Python installation and wanted to float the idea by
> you to see what you think.
>
> First, let me explain the reason for why anyone would want to do so.
> For work, I use Python extensively for scientific computing. However,
> I do not have administrator rights on my workstation and the
> distribution we use (CentOS) does not have the latest Python packages
> that are needed for scientific computing. In addition, even if CentOS
> had the packages, it wouldn't be feasible to constantly ask the
> sysadmins to install/update packages. One solution is to use a
> scientific Python distribution from a commercial vendor, e.g., Canopy
> from Enthought or Anaconda from Continuum Analytics. While these
> distributions work quite well, they are expensive for non-academic
> users and they are not very flexible, i.e., it can be difficult to
> install packages that are not in the package repository provided by
> the vendor, especially if the packages need additional dependencies. I
> also have a gentoo-prefix setup on my workstation. However, the whole
> prefix directory is very large as it makes minimal assumptions about
> the libraries provided by the host system. The size is a problem when
> using it over NFS e.g. on a cluster. Also, I have found that it is
> difficult to get X11 applications working as the gentoo-prefix will
> install its own X server etc.
>
> This made me wonder whether portage could be used to build a
> scientific Python installation. My idea is instead of making very
> minimal assumptions about the libraries provided by the host system
> (as done in a normal prefix install), one could generate a world file
> listing all the libraries provided by the host system and freeze their
> versions using package-mask. Like that, programs and libraries in the
> prefix would link to libraries on the host system whenever possible,
> which would make the prefix smaller. By having a gentoo based
> scientific Python installation, one could take advantage of all the
> packages provided by gentoo-science and it would make it easy to
> install Python packages that depend on non-Python libraries.
> What do you guys think, is this feasible?

If you are strongly focused on Python-related software, I think the easiest
route for you is to install required version of Python from sources into
your $HOME and install all other things using pip (which won't require root).
There is no need to buy commercial Python distribution, and it's certainly
less work than to maintain whole Prefix. Also, I guess portage does not
have ebuilds for all packages present in PyPI, so you'll probably need to use
pip anyway (or make ebuilds yourself).

BTW, CentOS has lots of 3rd party repositories, allowing you to have almost
any combination of software versions you want (of course that would require
asking your administrator, but may be a convenient way to install software
which would be useful not only for you).

-- 
Regards,
Konstantin

Reply via email to