Virtuella miljöer
När man jobbar med ett projekt använder man ofta olika pythonpaket. Olika projekt kan kräva olika versioner av samma paket. Ett projekt som är några år gammalt använder kanske en tidigare version av ett paket än senaste versionen som finns idag. Skillnader mellan versioner kan vara att man ändrat på hur en funktion anropas, eller att man till och med tagit bort en funktion eller klass och ersatt den med något annat. Detta betyder att det behövs ett sätt jobba med projektspecifika pythonmiljöer och det är just detta som vi använder virtuella miljöer till.
Skapa en virtuell miljö
Från Python 3.3 så följer modulen venv
med när man installerar Python. För att
skapa en virtuell miljö för vår aktuella version av Python 3 skriver vi följande
i terminalen ($
refererer till prompten och ska inte skrivas in):
$ python3 -m venv /sökväg-till-virtuell-miljö
Detta kommer att skapa en virtuell miljö i katalogen /sökväg-till-virtuell-miljö
. Efter att vi skapat den virtuella miljön kan vi aktivera den och installera paket (se Installera paket) som endast är tillgängliga när den virtuella miljön är aktiverad.
För att t.ex. skapa en virtuel miljö i katalogen ~/min_kurs/mitt_projekt/projekt_venv
skriver du
$ python3 -m venv ~/min_kurs/mitt_projekt/projekt_venv
Aktivera en virtuell miljö
Du måste aktivera en virtuell miljö för att använda den. Du behöver aktivera den virtuella miljön igen om du startar en ny terminalsession t.ex. genom att öppna ett nytt terminalfönster.
För att aktivera en virtuell miljö i Linux eller på macOS skriver du följande i terminalen:
$ source /sökväg-till-virtuell-miljö/bin/activate
Om du skapade din virtuella miljö i t.ex. ~/venv_lab4
skriver du
source ~/venv_lab4/bin/activate
.
Windows
För Windows ser det lite annorlunda ut. Om du använder kommandotolken
(cmd.exe
) så skriver du:
$ sökväg-till-virtuell-miljö\Scripts\activate.bat
Om du använder Powershell så skriver du
$ sökväg-till-virtuell-miljö\Scripts\Activate.ps1
Om du inte kan aktivera miljön utan får ett felmeddelande om säkerhetsinställning så behöver du köra
$ Set-ExecutionPolicy Unrestricted -Scope Process
Avaktivera en virtuell miljö
När du inte längre vill jobba i en viss virtuell miljö behöver du avaktivera den. För att avaktivera den virtuella miljö som är aktiverad för tillfället skriver du
$ deactivate
Detta gäller både Linux/macOS och Windows.
I Python-dokumentationen
Skapa virtuell miljö direkt i Thonny
Här finns en guide för hur man skapar en virtuell miljö i Thonny: How to set up a virtual environment in Thonny IDE – Easy setup
Sidansvarig: Johan Falkenjack
Senast uppdaterad: 2024-10-15