Een project verplaatsen in een virtuele omgeving in Python
Er doen zich vaak situaties voor waarin je een bronproject naar een nieuwe map moet verplaatsen, bijvoorbeeld naar een nieuwe server. Laten we eens kijken hoe je dit kunt doen met een virtuele omgeving in Python.
Laten we eerst een nieuwe map new_project_ven aanmaken,
waar we het project vanuit project_ven naartoe verplaatsen:
- /project_venv/
- ...
- /project1/
- main.py
- /new_project_venv/
Vervolgens kopiëren we alle geïnstalleerde pakketten
uit de virtuele omgeving project_ven.
Dit wordt gedaan met het volgende commando:
python -m pip freeze > req.txt
Links van het woord freeze wordt
een groter-dan-teken geplaatst en de naam van het bestand waarin
de informatie over de pakketten zal staan. Ons
bestand heet req.txt, maar de naam
kan willekeurig zijn. Na het uitvoeren van het commando
verschijnt er een nieuw bestand in de projectmap:
- /project_venv/
- ...
- /project1/
- main.py
- req.txt
Vervolgens moet je de map project1 kopiëren,
waar al twee bestanden in liggen: main.py
en req.txt. Vervolgens plakken we deze in
de map new_project_venv:
- /project_venv/
- ...
- /project1/
- main.py
- req.txt
- /new_project_venv/
- /project1/
- main.py
- req.txt
- /project1/
Nu verlaten we de huidige virtuele omgeving:
deactivate
Vervolgens moet je in de console naar de map
new_project_venv/project1 navigeren. Daarna
moet je een nieuwe virtuele
omgeving voor het nieuwe project aanmaken:
python -m venv ..
Vervolgens activeren we onze nieuwe omgeving:
..\Scripts\activate # voor Windows
source ../bin/activate # voor Linux
Waarna je in de console de naam van de nieuwe virtuele omgeving zult zien:
(new_project_venv)
Nu moeten de pakketten uit het bronproject worden hersteld. Hiervoor gebruiken we het volgende commando:
pip install -r req.txt
Na een succesvolle installatie van de bibliotheken wordt het volgende bericht weergegeven:
Successfully installed numpy-1.26.4
Verplaats het door jou gemaakte project naar een nieuwe virtuele omgeving.
Herstel alle bibliotheken uit de bronmap in het nieuwe project. Controleer de werking van de geïnstalleerde bibliotheken.