To not interfere with your os configuration and keep your project reproducible, you should use a virtual environment as long as possible.
Virtual environment are a way to isolate your project from the rest of the system, and to avoid dependencies conflicts.
Lets start by installing the virtualenv package.
sudo apt install python3-venv
And now you can create venvs for your project:
python3 -m venv .venv/myproject
It is a good practice not to create a virtualenv with name "venv", but to use a name that reflects the project you are working on, in order to see directly in which venv you are working.
Now you can activate the virtualenv:
And deactivate it when you are done:
One other way to create a virtualenv is to use the
Once you installed python packages, you should create a snapshot of your project dependencies using:
pip freeze > requirements.txt
That way, you can allow other people to use your project and installi its dependencies with the following command:
pip install -r requirements.txt
You could also use conda, as a package manager, to create a virtualenv.
R also has its own virtualenv gestionnal system named packrat.
First install packrat with R.
And create your virtual environment with:
Similarly, you can then install packages:
And create a snapshot of your dependencies with:
The dependency list is available in
Julia venv is very similar to Python venv.
First, you install the VirtualEnv package:
julia -e 'using Pkg; Pkg.add("VirtualEnv")'
~/.julia/bin to your path:
julia -e 'using VirtualEnv; VirtualEnv.comonicon_install_path()'
Then you can use
venv to create a virtualenv for your project:
And you can activate/deactivate it:
source .venv/myproject/bin/activate deactivate
That's it !