Arne Coomans

Explainer: Virtual Environment

Explainer: Virtual Environment

Wat is een Virtual Enviromnent, wat moet je ermee en waarom zou je het gebruiken? In deze explainer neem ik je mee in de wereld van Virtual Environments in Python.

Virtual Environment

In een Virtual Environment kan je veilig aanpassingen maken in Pythons instellingen en modules zonder dat dit gevolgen heeft voor het hele systeem. Dit heeft als voordeel dat je veiliger modules kan installeren zonder dat deze gevolgen hebben voor je hele systeem. Dit heeft bijvoorbeeld als voordeel dat versies van geïnstalleerde modules gelijk blijven, ook als je voor een ander project een nieuwere versie gebruikt. Een ander voordeel is dat als er iets mis gaat in een Virtual Environment, je deze makkelijk kan verwijderen en een nieuwe aanmaken.

Een virtual environment opstarten

Sinds Python 3 is venv standaard meegeleverd als Virtual Environment Manager. Bij het aanmaken van een Virtual Environment moet je aangeven waar deze opgeslagen mag worden.

python3 -m venv <pad>

Met python3 geef ik aan welke versie van Python deze Virtual Environment moet gaan gebruiken. Heb je meerdere versies van Python op je systeem, kies je op deze manier welke versie van Python je gebruikt binnen je omgeving.

Met -m start ik de module venv. Dit is de Virtual Environment Manager binnen Python3.

Zelf vind ik het fijn om alle Virtual Environments centraal op te slaan en buiten de applicatie. Ik sla deze op in .venv in de home-dir. Dat heeft wel tot gevolg dat mijn Virtual Environments gebruikers-afhankelijk zijn. Een voorbeeld hoe ik een Virtual Environment aanmaak is: python3 -m venv ~/.venv/project-x

Deze opdracht maakt de map project-x/ aan in ~/.venv/. Hierin vind je twee mappen: bin/ en lib/ en één bestand: pyvenv.cfg. In bin/ staan de applicaties die je gebruikt om je Virtual Environment aan te sturen. In lib/ worden modules opgeslagen die je installeert met gebruik.

Werken in de Virtual Environment

Om te werken binnen de Virtual Environment, moet je deze activeren. Alle aanpassingen die je dan in Python maakt, worden toegepast op deze Virtual Environment. Het activeren doe je door het script activate te gebruiken. source ~/.venv/project-x/bin/activate

Met source laad je een script-bestand en voer je de inhoud uit. Het script bin/activate laadt de Virtual Environment.

Na het activeren zie je aan het begin van je terminal-regel de naam van de virtual environment staan (project-x) %

Hier is het veilig om modules te installeren die je in een applicatie wil gebruiken. python -m pip install pandas

Een Virtual Environment verlaten

Een Virtual Enviroment verlaat je door deze te deactiven: deactivate