Virtualenv is a tool to build isolated Python environments.
It’s a great way to quickly test new libraries without cluttering your global site-packages or run multiple projects on the same machine which depend on a particular library but not the same version of the library.
I install it with the package system of my OS, so that it ends in my global site-packages.
With Fedora/EL is just:
$ sudo yum install python-virtualenv
Create the virtual environment enabling the packages already installed in the global site-packages via the OS package system. Some requirements (in particullar numpy and scipy) are difficult to build: they require compiling and external C and FORTRAN libraries to be installed.
So the command is:
$ virtualenv --system-site-packages myenv
If you need to create the virtualenv without global packages, drop the system-site-packages flag.
Once the environment is created, you need to activate it. Just change directory into it and load with your command line interpreter the script bin/activate.
With bash:
$ cd myenv
$ . bin/activate
(myenv) $
With csh/tcsh:
$ cd myenv
$ source bin/activate
(myenv) $
Notice that the prompt changes once you are activate the environment. To deactivate it just type deactivate:
(myenv) $ deactivate
$
PyEmir is registered in the Python Package Index. That means (among other things) that can be installed inside the environment with one command.
(myenv) $ pip install pyemir
The requirements of pyemir will be downloaded and installed inside the virtual environment. Once the installation is finished, you can check by listing the installed recipes:
(myenv) $ ./bin/numina show
Bias Image: Recipe to process bias images
Instrument: EMIR
Recipe: emir.recipes.BiasRecipe
Key: bias_image
UUID: a7ea9c0c-76a6-4609-8413-0157102ec284
--
Dark current Image: Summary of Dark current Image
Instrument: EMIR
Recipe: emir.recipes.DarkRecipe
Key: dark_image
UUID: 5b15db30-7774-4823-9645-e8ca27a866af
--
...