Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • source conda_setup -h for full help on the script
  • after sourcing conda_setup, you can execute the undo_conda command to restore your linux environment variables to what they were beforehand.
  • see conda ana release notes for release notes on these the conda environments
  • to switch to an older environment called nameconda environment, for example to switch to ana-1.0.4, you can use source conda_setup with the again, but now pass --env name arguments, or ana-1.0.4 to conda_setup. You can also, having sourced conda_setup once, use the standard conda command
    source activate name command.activate ana-1.0.4
    to activate ana-1.0.4

Newer Package Versions

The conda environments will keep up with the latest versions for many standard python packages. Some notable version changes from the RPM based releases (as of December 2016):

  • ipython, version 2.3 -> 5.1
  • matplotlib, version 1.4.3 -> 1.5.1
  • openmpi, version 1.8.3 -> 1.10.2
  • mpi4py, version 1.3.1 -> 2.0.0
  • numpy, version 1.9.2 -> 1.11.2 also conda version our build is based on the intel MKMKL

New package versions means newer features, bug fixes, but it can also mean old interfaces are deprecated, and new bugs crop in. Some users may need to update their code to run with later versions of packages.

...

to prevent conda_setup from trying to read the scripts commands line arguments, details at conda_setup script issue.

The following comment in the above issue: While conda_setup should work from a script, it was designed for interactive use. This comment: bypass conda_setup in script will show you shows how to setup the environment yourself, without using conda_setup.

...

The LCLS Data Analysis group is presently maintaining 3 separate conda installations, one for rhel5, rhel6, and rhel7. Locally built packages, like openmpi, hdf5, and psana, will be built natively on each platform. The conda_setup script will automatically detect rhel5 vs rhel6 vs rhel7 and activate an environment in the appropriate installation. Use conda_setup to get into a conda environment to make sure you use the appropriate packages for your host.

However since conda-forge does not support rhel5, certain packages will not function on rhel5 (for example, opencv, which we obtain from conda-forge). In general, our support for rhel5 is more limited with the conda releases than the RPM releases. Rhel5 users may not be able to use a conda environment.

Moreover it is possible that we install a package that is limited to rhel7. Today - As of Jan 2017, the only such package is tensorflow.

...

Presently, packages that can only be installed via pip are not being maintained in added to the central installs, that is we require conda packaging, but see the User Conda Envionments section below.

...

which installs biopythion from the thebiopython conda package that is maintained by anaconda. Note this is different then using pip to install biopython. The nice thing about conda is that you can use pip to install packages in your conda environments. So for install, after creating your environment named snowflake, you could do

...

this should install the latest version of psana-conda, and its dependencies. Currently we are specifying strict dependencies for certain packages. Installing psana-conda will also install specific versions and builds of the following packagesIt should pick up the following dependencies from the lcls-rhel7 channel:

  • hdf5
  • openmpi
  • mpi4py
  • h5py
  • tables

that we maintain in lcls-rhel7. We can do development to relax this in the future if it is a problem - for instance you may be at a lab that has its own mpi installationTo use your own build of openmpi or hdf5/h5py, install those in myenv first (however note any package version requirements for running psana per the psana meta.yaml.

Before running psana, you will also need to set the environment variables

  • SIT_PSDM_DATA

...

  • SIT_ROOT

...

  • SIT_DATA. 

The  The recommended way to do this is to have them set when your environment is activated, and unset when it is deactivated. Conda provides a mechanism to do this discussed here: saved-environment-variables. The complicated piece is that SIT_DATA must include the sub-directory 'data' to your conda environment, as well as where the experiment-db.dat file is. For instance, with a conda environment like ana-1.0.8, the files

...