Posted under » Python » Django on 22 April 2021
Python applications will often use packages and modules that don’t come as part of the standard library. Applications will sometimes need a specific version of a library, because the application may require that a particular bug has been fixed or the application may be written using an obsolete version of the library’s interface.
This means it may not be possible for one Python installation to meet the requirements of every application. If application A needs version 1.0 of a particular module but application B needs version 2.0, then the requirements are in conflict and installing either version 1.0 or 2.0 will leave one application unable to run.
Before installing django or streamlit, it is best that you install a virtual environment first. Or it could be pipenv, poetry, virtualenv, conda (anaconda and miniconda) or venv. In this tutorial, we use venv.
To install venv.
$ sudo apt install python3-venv
If you want an older version, assuming your OS python version is 3.10
$ sudo apt install python3.8-venv
Make a new venv like so
$ mkdir venv $ cd venv $ python3 -m venv studentals
If older
$ python3.8 -m venv studentals
You need to activate it. You can deactivate it too.
$ source studentals/bin/activate (student_als) hanafi@anoneh:~/www/student$
You’ll now notice that the name of our virtual environment "student_als" is preceding our command prompt. This indicates we are now working within our activated virtual environment. When working with Django, I always work in a venv environment but I am too lazy to put (student_als) hanafi@anoneh:~/www/student$ so I just put as $ .
Now install Django or MySQLclient or whatever python libraries using pip.
To get out of the environment,
(student_als) $ deactivate
If you are using anaconda, you close by
(base) $ conda deactivate
Talking of anaconda, you might accidentally make 'base' environment start by itself. To disable base from automatically loading, do
(base) $ conda config --set auto_activate_base false
It would be a good idea to backup your venv directory just in case it became corrupted. You can also "branch" a venv.
Alternatively, to run a program in this environment, source the bin/activate script in a shell.
$ bash $ export PYTHONNOUSERSITE=1 $ . ~/venv/studentals/bin/activate $ ./my_python_program