Wie installiert man Python virtualenv/virtualenvwrapper

Virtualenv ist ein Tool, mit dem man isolierte Python-Umgebungen erstellen kann. Es wird hauptsächlich verwendet, um Probleme mit Abhängigkeiten und Versionen zu beseitigen. Auch die Einrichtung von Berechtigungen ist nicht enthalten. Im Allgemeinen ist virtualenvwrapper eine Art Erweiterung für virtualenv. Es besitzt Wrapper, die für das Erstellen und Löschen von Umgebungen zuständig sind. Es ist eine nützliche Ergänzung für dieses Thema.

Für diese Anleitung werden wir die virtuelle Maschine vm01 mit dem Betriebssystem Ubuntu 20.04 LTS verwenden.

Melden Sie sich an Ihrem PC an und überprüfen Sie die Python-Version (sie sollte vorinstalliert sein). Der nächste Schritt wäre pip install:

eouser@vm01:~$ python3 --version

Python 3.8.10

eouser@vm01:~$ sudo apt install python3-pip

Bestätigen Sie die pip3-Installation durch invoke:

eouser@vm01:~$ pip3 -V

pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)

Installieren Sie virtualenvwrapper über pip

eouser@vm01:~$ pip3 install virtualenvwrapper

Legen Sie ein neues Verzeichnis an, in dem Sie z. B. Ihre virtuellen Umgebungen speichern:

mkdir .virtualenvs

Jetzt werden wir die Datei .bashrc anpassen, indem wir eine Zeile hinzufügen, die jede neue virtuelle Umgebung so anpasst, dass sie Python 3 verwendet. Wir verweisen die virtuellen Umgebungen auf das Verzeichnis, das wir oben erstellt haben (.virtualenvs), und wir verweisen auch auf die Speicherorte von virtualenv und virtualenvwrapper.

Öffnen Sie die Datei .bashrc z. B. mit einem Editor:

vim ~/.bashrc

Navigieren Sie zum Ende der .bashrc-Datei und fügen Sie folgende Zeilen hinzu:

#virtualenvwrapper settings:
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/home/eouser/.local/bin/virtualenv
source ./.local/bin/virtualenvwrapper.sh

Speichern Sie anschließend die Änderungen.

Jetzt müssen wir das bashrc-Skript neu laden wozu wir folgenden Befehl ausführen:

source ~/.bashrc

Wenn alles richtig eingestellt ist, sollten Sie Dies hier sehen:

virtualenvwrapper.user_scripts creating /home/eouser/.virtualenvs/premkproject
virtualenvwrapper.user_scripts creating /home/eouser/.virtualenvs/postmkproject
virtualenvwrapper.user_scripts creating /home/eouser/.virtualenvs/initialize
virtualenvwrapper.user_scripts creating /home/eouser/.virtualenvs/premkvirtualenv
virtualenvwrapper.user_scripts creating /home/eouser/.virtualenvs/postmkvirtualenv
virtualenvwrapper.user_scripts creating /home/eouser/.virtualenvs/prermvirtualenv
virtualenvwrapper.user_scripts creating /home/eouser/.virtualenvs/postrmvirtualenv
virtualenvwrapper.user_scripts creating /home/eouser/.virtualenvs/predeactivate
virtualenvwrapper.user_scripts creating /home/eouser/.virtualenvs/postdeactivate
virtualenvwrapper.user_scripts creating /home/eouser/.virtualenvs/preactivate
virtualenvwrapper.user_scripts creating /home/eouser/.virtualenvs/postactivate
virtualenvwrapper.user_scripts creating /home/eouser/.virtualenvs/get_env_details

Erstellen Sie nun Ihre erste virtuelle Umgebung ‚test‘ mit dem Befehl ‚mkvirtualenv‘.

eouser@vm01:~$ mkvirtualenv test
created virtual environment CPython3.8.10.final.0-64 in 581ms
 creator CPython3Posix(dest=/home/eouser/.virtualenvs/test, clear=False, no_vcs_ignore=False, global=False)
  seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/eouser/.local/share/virtualenv)
   added seed packages: pip==21.3.1, setuptools==60.2.0, wheel==0.37.1
  activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
virtualenvwrapper.user_scripts creating /home/eouser/.virtualenvs/test/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/eouser/.virtualenvs/test/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/eouser/.virtualenvs/test/bin/preactivate
virtualenvwrapper.user_scripts creating /home/eouser/.virtualenvs/test/bin/postactivate
virtualenvwrapper.user_scripts creating /home/eouser/.virtualenvs/test/bin/get_env_details

Jetzt sollten Sie den Namen Ihrer Umgebung in der Klammer vor dem Benutzernamen sehen, was bedeutet, dass Sie in Ihrer virtuellen Umgebung arbeiten.

(test) eouser@vm01:~$

Wenn Sie die aktuelle Umgebung verlassen möchten, geben Sie den Befehl “ deactivate“ ein:

(test) eouser@vm01:~$ deactivate
eouser@vm01:~$

Um die Arbeit in der virtuellen Umgebung zu beginnen, geben Sie den Befehl „workon“ ein:

eouser@vm01:~$ workon test
(test) eouser@vm01:~$

Zum Entfernen der virtuellen Umgebung wird ‚rmvirtualenv‘ verwendet.

eouser@vm01:~$ rmvirtualenv test
Removing test...

Um alle virtuellen Umgebungen aufzulisten, verwenden Sie workon oder lsvirtualenv:

eouser@vm01:~$ workon
test-1
test-2
test-3
eouser@vm01:~$ lsvirtualenv
test-1
======
test-2
======
test-3
======