Gentoo Archives: gentoo-alt

From: Martin Luessi <mluessi@×××××.com>
To: gentoo-alt@l.g.o
Subject: [gentoo-alt] idea: use portage to build a scientific Python installation
Date: Sat, 21 Dec 2013 20:28:37
Message-Id: CANyH56-hJs393WvDAaSOP6u4jpnaqzWTPROLE_qML7OwPq2Dsg@mail.gmail.com
1 Hi all,
2
3 I recently had the idea that it might be possible to use portage to
4 build a scientific Python installation and wanted to float the idea by
5 you to see what you think.
6
7 First, let me explain the reason for why anyone would want to do so.
8 For work, I use Python extensively for scientific computing. However,
9 I do not have administrator rights on my workstation and the
10 distribution we use (CentOS) does not have the latest Python packages
11 that are needed for scientific computing. In addition, even if CentOS
12 had the packages, it wouldn't be feasible to constantly ask the
13 sysadmins to install/update packages. One solution is to use a
14 scientific Python distribution from a commercial vendor, e.g., Canopy
15 from Enthought or Anaconda from Continuum Analytics. While these
16 distributions work quite well, they are expensive for non-academic
17 users and they are not very flexible, i.e., it can be difficult to
18 install packages that are not in the package repository provided by
19 the vendor, especially if the packages need additional dependencies. I
20 also have a gentoo-prefix setup on my workstation. However, the whole
21 prefix directory is very large as it makes minimal assumptions about
22 the libraries provided by the host system. The size is a problem when
23 using it over NFS e.g. on a cluster. Also, I have found that it is
24 difficult to get X11 applications working as the gentoo-prefix will
25 install its own X server etc.
26
27 This made me wonder whether portage could be used to build a
28 scientific Python installation. My idea is instead of making very
29 minimal assumptions about the libraries provided by the host system
30 (as done in a normal prefix install), one could generate a world file
31 listing all the libraries provided by the host system and freeze their
32 versions using package-mask. Like that, programs and libraries in the
33 prefix would link to libraries on the host system whenever possible,
34 which would make the prefix smaller. By having a gentoo based
35 scientific Python installation, one could take advantage of all the
36 packages provided by gentoo-science and it would make it easy to
37 install Python packages that depend on non-Python libraries.
38 What do you guys think, is this feasible?
39
40 Best,
41
42 Martin

Replies