Verwaltung virtueller Umgebungen
Grundlagen zu virtuellen Umgebungen
Virtuelle Umgebungen sind isolierte Python-Laufzeiträume, die es Entwicklern ermöglichen, separate Abhängigkeitsökosysteme für verschiedene Projekte zu erstellen. Dadurch werden Konflikte vermieden und die Reproduzierbarkeit gewährleistet.
Arbeitsablauf bei virtuellen Umgebungen
graph TD
A[Create Virtual Environment] --> B[Activate Environment]
B --> C[Install Project Dependencies]
C --> D[Develop Project]
D --> E[Deactivate Environment]
Wichtige Managementstrategien
1. Erstellen virtueller Umgebungen
Mit venv
## Create virtual environment
python3 -m venv project_env
## Activate environment
source project_env/bin/activate
## Deactivate environment
deactivate
Mit virtualenv
## Install virtualenv
pip3 install virtualenv
## Create environment
virtualenv -p python3 project_env
## Activate environment
source project_env/bin/activate
Abhängigkeitsverwaltung
Best Practices für die Requirements-Datei
Aktion |
Befehl |
Beschreibung |
Requirements generieren |
pip freeze > requirements.txt |
Aktuelle Abhängigkeiten exportieren |
Abhängigkeiten installieren |
pip install -r requirements.txt |
Aus der Requirements-Datei installieren |
Abhängigkeiten aktualisieren |
pip install --upgrade -r requirements.txt |
Pakete aktualisieren |
Fortgeschrittene Umgebungskonfiguration
Mehrere Python-Versionen
## Install pyenv
curl https://pyenv.run | bash
## Install multiple Python versions
pyenv install 3.8.10
pyenv install 3.9.7
pyenv install 3.10.5
## Set global/local Python versions
pyenv global 3.9.7
pyenv local 3.10.5
Techniken zur Umgebungsisolierung
1. Separate Projektverzeichnisse
/home/user/projects/
├── project1_env/
│ └── ...
├── project2_env/
│ └── ...
└── project3_env/
└── ...
2. Mit virtualenvwrapper
## Install virtualenvwrapper
pip3 install virtualenvwrapper
## Configure shell
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc
source /usr/local/bin/virtualenvwrapper.sh
## Create and manage environments
mkvirtualenv myproject
workon myproject
deactivate
rmvirtualenv myproject
Best Practices
- Verwenden Sie immer virtuelle Umgebungen.
- Halten Sie die Umgebungen so klein wie möglich.
- Nutzen Sie die requirements.txt-Datei.
- Vermeiden Sie systemweite Paketinstallationen.
- Aktualisieren Sie die Abhängigkeiten regelmäßig.
Sicherheitsaspekte
- Begrenzen Sie den Zugang zur Umgebung.
- Verwenden Sie virtuelle Umgebungen auch in der Produktion.
- Aktualisieren Sie die Pakete regelmäßig.
- Nutzen Sie Sicherheits-Scanning-Tools.
LabEx-Empfehlung
LabEx empfiehlt, die Techniken zur Verwaltung virtueller Umgebungen zu beherrschen, um saubere, reproduzierbare und sichere Python-Entwicklungsworkflows zu gewährleisten.