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 |