Hur man installerar Python på det smarta sättet

Python är lätt att använda, vänlig för nybörjaren och kraftfull nog för att skapa robust programvara med för nästan alla applikationer. Men det är fortfarande en mjukvara som alla andra, vilket betyder att den kan vara komplex att installera och hantera.

I den här artikeln går vi igenom hur du ställer in Python på rätt sätt: hur man väljer lämplig version, hur man förhindrar att flera versioner trampar på varandra och hur man undviker alla andra skarpa kanter och potentiella fallgropar längs sätt.

Välj rätt Python-version och distribution

För kompatibilitet med tredjepartsmoduler är det alltid säkrast att välja en Python-version som är en viktig punktrevision bakom den nuvarande .

När detta skrivs är Python 3.8.1 den senaste versionen. Det säkra alternativet är alltså att använda den senaste uppdateringen av Python 3.7 (i det här fallet Python 3.7.6). Du kan alltid testa den senaste versionen av Python på ett kontrollerat sätt - t.ex. i en virtuell dator eller en testmaskin - men att gå tillbaka en version garanterar bästa kompatibilitet med vanliga Python-paket från tredje part.

Python finns också i en mängd olika distributioner, på ungefär samma sätt som Linux gör. Till skillnad från Linux erbjuder Python en "officiell" utgåva av guldstandard som du alltid kan falla tillbaka på: CPython, den version som tillhandahålls av Python Software Foundation på python.org. Återigen är det den säkraste och mest kompatibla distributionen, den som ingen får sparken för att plocka. (Du kanske vill undersöka andra Python-distributioner senare, eftersom de adresserar specifika användningsfall du kan ha, men vi kommer inte att ta hänsyn till dem här.)

Ett viktigt val du måste göra, särskilt i Windows, är om du vill använda 32-bitars eller 64-bitarsversionen av Python. Det mest troliga svaret är 64-bitars av följande skäl:

  • De flesta moderna operativsystem använder en 64-bitarsversion av Python som standard. Windows-användare kan köra 32-bitarsversioner av Python på 64-bitars Windows, men till en liten kostnad för prestanda. 
  • 32-bitars Python och 32-bitarsappar i allmänhet har endast åtkomst till 4 GB minne åt gången. 64-bitarsapplikationer har inte denna gräns, därför fungerar många dataanalys- och maskininlärningsverktyg för Python bäst i 64-bitars inkarnationer. Vissa är endast tillgängliga i 64-bitarsversioner. 

Den enda gången du ska välja 32-bitarsversionen av Python är om du sitter fast med en 32-bitarsversion av Windows, eller om du behöver använda en tredjepartsmodul som endast är tillgänglig i en 32-bitarsversion.

Installera Python på Windows på det smarta sättet

Python installeras på Windows på ungefär samma sätt som alla andra applikationer, via ett installationsprogram som guidar dig genom installationsprocessen.

Som standard placerar Python-installationsprogrammet för Windows sina körbara filer i användarens AppDatakatalog, så att det inte kräver administrativa behörigheter. Om du är den enda användaren på systemet kanske du vill placera Python i en katalog på högre nivå (t.ex. C:\Python3.7) för att göra det lättare att hitta. Windows-installationsprogrammet låter dig ange målkatalogen.

Välj rätt Python-installationsprogram för Windows

Python.org erbjuder ett antal olika inkarnationer av Python för Windows. Förutom de redan nämnda 32-bitars (“x86”) och 64-bitars (“x86-64”) versionerna kan du välja mellan den inbäddade zip-filen, den körbara installationsprogrammet och det webbaserade installationsprogrammet. Här är vad det handlar om:

  • Det körbara installationsprogrammet är bara en .EXE-fil som kör installationsprocessen för Python. Detta är det enkla standardvalet och det vanligaste.
  • Det webbaserade installationsprogrammet är detsamma som det körbara installationsprogrammet, förutom att det hämtar de bitar som behövs för att installera separat. Detta minskar dramatiskt storleken på det faktiska installationsprogrammet, men kräver naturligtvis en nätverksanslutning.
  • Den inbäddade zip-filen är en fristående, minimal kopia av Python-körtiden som passar i en enda mapp utan beroenden. Det är användbart att buntas in när du vill distribuera en Python-app manuellt eller när du behöver en snabb, engångsinstallation av Python för att testa något i farten. Men den inbäddade dragkedjan innehåller inte  pipeller några av de andra användbara verktygen som kommer med en fullständig installation, så det är endast för expertanvändning.

Installera Python med en pakethanterare för Windows

Ännu ett alternativ är att använda ett av de pakethanteringssystem som finns för Windows. NuGet, pakethanteraren för .NET, erbjuder Python i sitt förråd. Men Python tillhandahålls där främst för att använda den som en komponent i en .NET-applikation, inte som ett sätt att installera en fristående instans av Python för allmän användning. Du kommer sannolikt att hitta din Python-instans lättare att hantera om du installerar Python på vanligt sätt. 

Chocolatey, ett mer generellt Windows-pakethanteringssystem, erbjuder också Python. Chocolatey är ett bekvämt sätt att köra Python-installationsprogrammet och spåra närvaron av Python-språkets körtid i ditt system - och därmed ett bättre val än NuGet. Det är dock bäst att undvika att blanda och matcha Chocolatey-installationer och vanliga installationer av Python på samma system.

Installera Python på Linux på ett smart sätt

Eftersom Linux-distributioner skiljer sig väsentligt är det typiska sättet att installera Python på Linux att använda den specifika distros pakethanterare. Ubuntu och Fedora har till exempel helt olika procedurer för installation av Python. På Linux (och MacOS) är målkatalogen för installationen vanligtvis förutbestämd och baserad på Pythons versionsnummer, t.ex. /usr/bin/python3.Xpå Linux eller /usr/local/opt/python/Mac.

Ett sätt att undvika att hantera komplexiteten hos Linux-pakethanterare är att använda en containeriserad Python-körning. Behållare körs isolerade från resten av systemet, så du behöver inte oroa dig för att olika Python-driftstider kliver på varandras tår. Men om ditt arbetsflöde inte redan innehåller containrar måste du ägna tid och energi åt att komma igång med Docker. (Observera att du också kan använda containeriserad Python i Windows.)

Ett verktyg som heter asdf-vm kommer också till nytta här. Du kan använda asdf-vm för att hantera flera Python-driftstider på Unix-liknande system (Linux och MacOS) - och flera körtider för Node.js, Ruby, Elixir och många andra språk också. Så om du befinner dig att jonglera versioner av andra saker förutom Python, vill du titta på asdf-vm.

Installera Python på MacOS på det smarta sättet

MacOS har traditionellt levererats med en version av Python installerad, men aldrig senare än Python 2.7. Detta skapade problem när Python 3 anlände, eftersom de två versionerna ofta var i konflikt. Den officiella Python-dokumentationen har några anteckningar om detta men ger inga mer detaljerade rekommendationer än att se till att du använder rätt väg för den Python-instans du vill ha.

Ett vanligt sätt att hantera Python-driftstider på MacOS är genom Homebrew-pakethanteraren. Homebrew erbjuder ett konsekvent gränssnitt för nedladdning, installation, hantering och borttagning av Python och andra kommandoradsappar från tredje part.

Installera Python-paket på det smarta sättet

När du har en bas installation av en Python version inrättas, inte börja installera paket direkt in i den med pip - nej, inte ens om du planerar att använda Python för endast ett projekt. Ställ in dina projektkataloger, installera Python virtuella miljöer i dem och installera sedan paket i dessa virtuella miljöer. På detta sätt förblir basinstallationen ren.

För ett högnivå sätt att hantera flera projekt med virtuella miljöer och beroenden, titta på Poetry-projektet. Poesi ger ett kommandoradsverktyg för hantering av virtuella miljöer och beroenden på hög nivå.

Installera flera Python-versioner sida vid sida

Det svåraste problemet när man hanterar Python-installationer är hur man hanterar olika versioner av Python-installerade sida vid sida. Två universella tumregler gäller här:

  • Installera alltid varje version i en annan katalog.
  • Se till att alla systemvägar är konfigurerade för att först peka på den version du vill köra som standard.

Att köra flera Python-versioner argumenterar starkt för virtuella miljöer per projekt. När den virtuella miljön aktiveras riktas all Python-aktivitet inom projektets sammanhang automatiskt mot rätt version av Python, 

Ett annat alternativ Windows-användare måste styra vilken Python-version som ska användas när multiplar är installerade är pystartprogrammet. Under Python-installationen erbjuds du möjligheten att installera pystartprogrammet, en liten körbar som låter dig välja (via kommandoradsflaggor) vilken version av Python som ska användas för ett givet skript. Till exempel, för att köra pipför Python 3.7, skulle du gå in  py -3.7 -m pip.

Uppgradera Python på det smarta sättet

Mindre revisionsuppgraderingar för Python - t.ex. Python 3.7.2 till Python 3.7.3 - är i allmänhet enkelt nog. I Windows upptäcker installationsprogrammet närvaron av den befintliga versionen och uppgraderar den. På Linux och MacOS gör installatören eller pakethanteraren vanligtvis samma sak.

Men alla virtuella miljöer som du har skapat kommer också att behöva uppgradera; de uppgraderar inte automatiskt. För att uppgradera Python i en virtuell miljö, navigerar du bara till katalogen för virtuell miljö och anger  venv --upgrade. Återigen, notera att detta fungerar bäst endast för mindre punktrevisionsuppgraderingar - som Python 3.7.2 till Python 3.7.3.

Om du utför en större punktrevisionsuppgradering, till exempel Python 3.7 till Python 3.8, är det bästa alternativet att använda för venvatt skapa en ny, separat underkatalog för virtuell miljö i projektkatalogen, installera om eventuella beroenden i den och byta till att använda ny virtuell miljö. De flesta IDE: er med Python-stöd (t.ex. Microsoft Visual Studio Code) kommer att upptäcka flera virtuella miljöer i ett projekt och låta dig växla mellan dem.