Did You Know ... Python Edition
timestamp1579798560001
Did you know official support for Python 2 is over?
That said, we have Python 3 available on Memex by loading the module, "python/3.6.7". This Python version includes conda, R, Jupyter, IntelMPI, and many other packages. Most Python packages can be installed by sending your request to [email protected].
Did you know you can install your own Python packages using conda?
For example, if you’d like the latest python version available, 3.8.1, first search for it here first (mainly conda-forge channel) or directly from the command line with:
module purge \ #only needed to ensure a clean environment module load python/3.6.7 conda search python \ #latest should be 3.8.1 as of last week
and use it to set up your own conda environment (both anaconda.org and the command line shows the proper channel, "-c", to use below).
conda create -p /lustre/scratch/$USER/.envs/py38 \ -c conda-forge python=3.8.1
The above command assumes
/lustre/scratch/$USER/.envs
is where you want the conda environment, py38, to reside. It has to be in a directory you own.To activate any conda environment (using example, py38, above):
source activate py38
To deactivate any conda environment:
source deactivate
To remove an entire conda environment:
conda-env remove -n py38
Did you know you can list existing conda environments already on Memex?
To list the available conda environments (still using the module, python/3.6.7), simply type:
conda env list
if you can see them, you can activate them but if you don’t have write permission, you cannot install, remove, or modify them. You can however, clone them (make the new name unique–> "foo", not the clone name --> “foo2”):
conda create -p /lustre/scratch/$USER/.envs/foo --clone foo2
Did you know you can list any installed Python package, in the base conda environment (activated by
module load python/3.6.7
) or a custom conda environment (activated bysource activate foo
)?conda list packagename
#replace packagename with real package namewhere “packagename” is a placeholder for a real package (like python, or r-base). Of course,
conda list
lists all packages installed in your current environment.
Did you know there are other useful commands (#replace packagename and X with real values):
conda search packagename=X.X.X --info
#where X.X.X=version_number of packagename
conda clean
#removes downloaded packages and caches
conda remove packagename
#to remove package
conda list --revisions
#to identify a revision to rollback to
conda install --revision X
#rollback to revision number, XType
conda -h
and/orconda-env -h
for more options.
Note: To manage where your cache directory is located (includes tar balls and downloaded packages), you can set the following in your bashrc:
echo CONDA_PKGS_DIRS=/lustre/scratch/$USER/.envs/pkgs >> \
$HOME/.bashrc
source $HOME/.bashrc
Or in your current environment only with:
export CONDA_PKGS_DIRS=/lustre/scratch/$USER/.envs/pkgs