- Environment Modules
The guide assumes basic understanding of the above requirements
Python is a general-purpose, versatile and popular programming language. It’s great as a first language because it is concise and easy to read, and it is also a good language to have in any programmer’s stack as it can be used for everything from web development to software development and scientific applications.
Versions
The following versions are available on EECS Servers and Desktops:
Version | Available as |
Binaries PATH |
2.7 | Default system version | /bin/python |
3.4 | RPM package, Environment module | /bin/python3.4 |
3.6.9 | Environment module | /import/linux/python/3.6.9/bin/python |
3.6.10 | Environment module | /import/linux/python/3.6.10/bin/python |
3.7.7 | Environment module | /import/linux/python/3.7.7/bin/python |
3.8.2 | Environment module | /import/linux/python/3.8.2/bin/python |
Using Python
The versions in the table above are available as environment modules, that enables users to load and switch between different Python versions with just one command.
For example, if you need to use the provided Python 3.6.10 , from the command line:
$ module load python/3.6.10
To check the version of the Python you are now using:
$ python -V Python 3.6.10
Installing Python packages
Users do not have “admin” priviliges to install Python packages on the EECS systems, but any Python packages can be installed inside a user’s home directory with more than one ways. We recommend using virtualenv for more efficient workflow.
Choose any tab to how you can install Python packages in your home directory:
Virtualenv give the ability to create isolated Python Virtual Environments with specific packages and different versions for every project you are working on. Python Virtualenv helps keeping the unique dependencies for every project separate, locally and in an isolated folder with the same name of the virtualenv.
To work with a specific virtualenv, you must “activate” and when you’ve finished you have to “deactivate” it.
Load the module
First, load the Python versions of your choice from the available environment modules . For example, to use Python 3.6.10:
$ module load python/3.6.10
Check that you loaded the right Python version:
$ python -V Python 3.6.10
Create the virtualenv
To create a virtualenv:
$ python -m venv <venv_name>
That will create a folder with the name you provided above which contains your new Python virtualenv.
$ ls <venv_name>/ bin include lib lib64 pyvenv.cfg
Activate the virtualenv
To activate and start using the new virtualenv:
$ source <venv_name>/bin/activate (<venv_name>) $
You will notice that your prompt has changed and the name of the activated virtualenv has been added at the beginning of each line. That shows that you have successfully activated the virtualenv and its name.
Now you can start installing your own packages.
Install a package
To install a Python package, simply run:
(<venv_name>) $ pip install <package_name>
To install a specific version of a package you must define it like:
(<venv_name>) $ pip install <package_name>==<version>
Deactivate virtualenv
To stop using the current virtualenv:
(<venv_name>) $ deactivate $
Anaconda is an open-source distribution of Python and R for scientific computing. It provides an easy way to manage the Python packages you install and the virtualenv you create.
For more info on how to install Python packages using Anaconda, read our Anaconda Guide.
Python packages can be installed to your $HOME
directory by adding the --user
option. This requires to manually update your local SHELL to point at the location of the installed binaries and libraries.
Load the module
First, load the Python versions of your choice from the available environment modules . For example, to use Python 3.6.10:
$ module load python/3.6.10
Install a package
To install a Python package, run:
$ pip install --user <package_name>
It will install the contents of the package at:
• Binaries: $HOME/.local/bin
• Modules/Libraries: $HOME/.local/lib/pythonX.Y/site-packages
Update local environment
Depending on your local environment variables, you might need to add at least the following (replace X.Y with the Python version you used to install the packages):
$ export PATH=~/.local/bin:$PATH $ export PYTHONPATH=$HOME/.local/lib/pythonX.Y/site-packages:$PYTHONPATH
References