In deze tutorial leert u over virtuele omgevingen. U leert over het belang van het gebruik van virtuele omgevingen in Python en hoe u aan de slag kunt gaan met het gebruik van virtuele omgevingen.
Een virtuele omgeving is een hulpmiddel om afzonderlijke ruimte te behouden voor een project met zijn afhankelijkheden en bibliotheken op één plaats. Deze omgeving is specifiek voor het specifieke project en interfereert niet met de afhankelijkheden van andere projecten.
U kunt bijvoorbeeld werken aan project X dat versie 1.0 van bibliotheek Z gebruikt en ook het project Y bijhouden dat versie 2.0 van bibliotheek Z gebruikt.
De virtuele omgevingstool maakt een map binnen de projectdirectory. Standaard wordt de map gebeld venv
, maar u kunt het ook een eigen naam geven. Het houdt Python en pip uitvoerbare bestanden binnen de map met de virtuele omgeving. Wanneer de virtuele omgeving is geactiveerd, worden de pakketten die daarna zijn geïnstalleerd, geïnstalleerd in de projectspecifieke map met virtuele omgevingen.
Zorg eerst dat je dat hebt gedaan Pip
geïnstalleerd op uw systeem. U kunt installeren Pip
met behulp van de volgende opdracht:
sudo apt-get install python-pip python-dev build-essentieel
Gebruik makend van Pip
, installeer de virtuele omgevingstool.
pip install virtualenv
Om te beginnen met het gebruik virtualenv
, je moet het initialiseren en activeren. Laten we beginnen met het maken van een nieuwe Python-projectdirectory PythonApp
.
mkdir PythonApp
Navigeer naar de projectdirectory PythonApp
en initialiseer de virtuele omgeving door de volgende opdracht te typen:
virtualenv PythonAppVenv
Met de opdracht hierboven wordt de virtuele omgeving voor het project ingesteld PythonApp
.
Het maakt een map genaamd PythonAppVenv
in de projectdirectory PythonApp
. Het houdt de uitvoerbare bestanden Python en pip in de map met virtuele omgevingen. Alle nieuwe pakketten die na activering van de virtuele omgeving voor het project zijn geïnstalleerd, worden in de map met virtuele omgevingen geplaatst. Hier is de mappenstructuur:
Als u wilt beginnen met het gebruik van de virtuele omgeving, moet u deze activeren met de volgende opdracht:
bron PythonAppVenv / bin / activate
Eenmaal geactiveerd, zou u de PythonAppVenv
naam aan de linkerkant van de naamprompt.
Laten we proberen een nieuw pakket voor het project te installeren PythonApp
.
pip-installatiekolf
Het nieuwe pakket moet worden geïnstalleerd in de map met virtuele omgevingen. Controleer de map met de virtuele omgeving binnenin lib / python2.7 / site-packages
en je zou in staat moeten zijn om de nieuw geïnstalleerde te vinden fles
pakket. Je kunt meer over Flask te weten komen op de projectpagina.
Als u klaar bent met de virtuele omgeving, kunt u deze deactiveren met behulp van de volgende opdracht:
deactiveren
Tijdens het werken met Python-programma's installeert u verschillende pakketten die door het programma worden vereist. U blijft werken en de lijst met geïnstalleerde pakketten blijft zich opstapelen. Nu komt de tijd dat u de Python-code naar de productieserver moet verzenden. Oeps ... Je weet echt niet welke pakketten je hebt geïnstalleerd om het programma te laten werken.
Het enige wat u kunt doen is het Python-programma openen en alle pakketten controleren die u in uw programma hebt geïmporteerd en ze een voor een installeren.
Een virtuele omgeving biedt een gemakkelijkere methode om bij te houden welke pakketten in het project zijn geïnstalleerd. Nadat u de virtuele omgeving hebt geactiveerd, biedt deze de mogelijkheid om de huidige status van de omgevingspakketten te bevriezen.
U kunt dit bereiken met behulp van de volgende opdracht:
pip freeze> requirements.txt
De bovenstaande opdracht maakt een bestand met de naam requirements.txt
met details over de pakketten met versies in de huidige omgeving. Hier is hoe het eruit ziet:
Nu zou dit bestand echt nuttig zijn voor de implementatie van het project op een ander platform, omdat alle afhankelijkheden van het project al beschikbaar zijn in de requirements.txt
het dossier. Om de projectafhankelijkheden te installeren met behulp van de requirements.txt
bestand, voert u de volgende opdracht uit:
pip install -r requirements.txt
virtualenvwrapper
Dingen eenvoudiger makenDe virtualenv
tool is echt een zegen voor ontwikkelaars. Maar het wordt echt ingewikkeld als je met meer dan één virtuele omgeving te maken hebt. Om meerdere virtuele omgevingen te beheren, is er een uitbreiding op de virtualenv
tool genoemd virtualenvwrapper
.
virtualenvwrapper
is een verpakking om de virtualenv
tool die de functionaliteit biedt om meerdere virtuele omgevingen te beheren.
Laten we aan de slag gaan met installeren virtualenvwrapper
met behulp van pip.
pip install virtualenvwrapper
Als je eenmaal hebt geïnstalleerd virtualenvwrapper
, u moet de werkdirectory instellen waar de virtuele omgevingen worden opgeslagen. Voer de volgende opdracht uit om de werkdirectory in te stellen virtualenvwrapper
:
exporteren WORKON_HOME = .virtualenvs
Met de opdracht hierboven wordt de werkmap ingesteld virtualenvwrapper
naar de .virtualenvs
map in de basismap.
U kunt het virtualenvwrapper
opdrachten om vanaf de terminal uit te voeren of de virtualenvwrapper
opdrachten voor de .bashrc
.
bron /usr/local/bin/virtualenvwrapper.sh
Nu zijn de commando's toegankelijk in de huidige terminal door op te drukken tab sleutel. Maak een nieuwe projectmap met de naam PythonProject
. Navigeer naar de projectdirectory. Vroeger, toen je het gebruikte virtualenv
, je hebt eerst de virtuele omgeving gemaakt en vervolgens geactiveerd. Gebruik makend van virtualenvwrapper
, je kunt beide taken voltooien met een enkele opdracht.
mkvirtualenv PythonVenv
Met de opdracht hierboven wordt de virtuele omgeving gemaakt en vervolgens geactiveerd.
Om de virtuele omgeving te deactiveren, moet u de deactiveren
commando.
deactiveren
Stel nu dat je in bepaalde scenario's moet schakelen tussen de verschillende virtuele omgevingen waarin je werkt. virtualenvwrapper
verschaft een werken aan
methode om van virtuele omgeving te veranderen. Het commando om van virtuele omgeving te veranderen is:
werk aan PythonV
In het bovenstaande commando, PythonV
is de naam van de virtuele omgeving. Hier is een afbeelding waar de werken aan
commando wordt getoond in actie:
virtualenvwrapper
biedt ook een opdracht voor het weergeven van de virtuele omgevingen in uw omgeving.
ls $ WORKON_HOME
De bovenstaande opdracht geeft een lijst met virtuele omgevingen weer die in de omgeving aanwezig zijn.
Om een bestaande virtuele omgeving te verwijderen, kunt u de rmvirtualenv
commando.
rmvirtualenv PV
Er is een opdracht die een projectdirectory en de bijbehorende virtuele omgeving maakt. Navigeer naar de terminal en voer de volgende opdracht uit:
mkproject NewPro
De bovenstaande opdracht moet het project en de bijbehorende virtuele omgeving creëren.
Er zijn nog een paar commando's waar je in kunt gebruiken virtualenvwrapper
. U kunt de lijst met beschikbare opdrachten vinden door de volgende opdracht te typen:
virtualenvwrapper
In deze tutorial zag je hoe je moest beginnen met het gebruik van virtuele omgevingen in Python. Je leerde het belang van het gebruik van de virtuele omgeving en hoe het werkt. Je hebt ook een kijkje genomen virtualenvwrapper
, een wikkel in de virtualenv
tool voor het beheren van meerdere virtuele omgevingen.
Heb je ooit virtuele omgevingen gebruikt in Python? Laat het ons weten in de reacties hieronder.