Re: [AMBER-Developers] Python issues...

From: Ross Walker <>
Date: Thu, 18 Feb 2016 13:32:15 -0800

>>> By the way, Python packages in AMBER only require well-established
>>> libraries like numpy or matplotlib (for plotting).
>> Perfect. But this needs to mean well established libraries available in
>> code currently considered to be enterprise and deployable. This does not
>> mean in version 97.3beta7 of Fedora for example or the very latest Ubutunu
>> nightly build etc. It really needs to mean the major Linux distributions
>> that are deployed and managed at scale. For most cases that means either
>> RedHat 6 or 7 or one of the stable branches of Ubuntu, SuSe etc. Note a lot
>> of code developers and even software shops in general use Ubuntu but very
>> few people have Ubuntu deployed in a managed computing environment - be
>> that a University or a company and so having, it works on Ubuntu be the
>> requirement is not really user friendly. What this likely means in most
>> cases is that some of the newest coolest features of a library can't
>> necessarily be used. I know that's annoying when it comes to writing code
>> and it would be ideal if this wasn't the case but unfortunately it.
> Yes, if you can use 'yum-install', 'apt-get install', or any command you
> need to remember for different Linux distributions, you can also use 'pip
> install` for Python packages.

Be careful with pip install - it can break lots of dependencies. I have many many examples for the machine learning space where one has to use Python virtual environments for each package or you trash everything else on the machine. For example Google's TensorFlow does not work with the system protobuf - it needs it's own installed through PIP but this breaks a bunch of other python based programs on the machine etc etc. Pip installed packages don't automatically get updated with a yum update either. So if possible it would be best if we can avoid the pip approach (it's too fragile in my experience) and stick with system based package managers. It will avoid a lot of headaches in the long run.

> Our idea is to provide users an option to install Miniconda from Anaconda
> to have all good Python packages. In my opinion, this approach is more
> suitable for general users who do not have admin permission to use *sudo
> for *yum install (at least help me :D).

I think this is a good idea although it concerns me it relies on an external company which could go belly up at any point - or change the approach to downloading it etc etc. Given it gets installed locally in the AMBER directory is there any reason why it needs to be the very latest version and we couldn't take a snapshot and cut it down as much as possible and provide it ourselves? Or do the benefits outweigh the potential headaches of that approach.

Note, while the above is good it does have deficiencies if one doesn't have network access (or limited network access since it downloads a LOT!) - problems I ran into yesterday for example while trying to do code development on my laptop while on a transcon flight. I found out at that point that if one said no to this the build would then crash later on. Hence why I added the --skip-python option to work around this and allow me to at least get the parts I needed built.

If we could have a recipe for each of the major operating systems that means the above is only needed in cases where that can't be satisfied I think that would be the best approach all around.

Keep in mind at some point some brave soul will need to do an AIX port of AMBER again. Ugh! :-S

All the best

|\oss Walker

| Associate Research Professor |
| San Diego Supercomputer Center |
| Adjunct Associate Professor |
| Dept. of Chemistry and Biochemistry |
| University of California San Diego |
| NVIDIA Fellow |
| | |
| Tel: +1 858 822 0854 | EMail:- |

Note: Electronic Mail is not secure, has no guarantee of delivery, may not be read every day, and should not be used for urgent or sensitive issues.

AMBER-Developers mailing list
Received on Thu Feb 18 2016 - 14:00:04 PST
Custom Search