Installera Python-moduler

E-post:

distutils-sig@python.org

Som ett populärt utvecklingsprojekt med öppen källkod har Python en aktiv stödgrupp av bidragsgivare och användare som också gör sin programvara tillgänglig för andra Python-utvecklare att använda under licensvillkor för öppen källkod.

Detta gör det möjligt för Python-användare att dela och samarbeta effektivt, dra nytta av de lösningar som andra redan har skapat för vanliga (och ibland till och med sällsynta!) problem, samt potentiellt bidra med sina egna lösningar till den gemensamma poolen.

Den här guiden täcker installationsdelen av processen. En guide till hur du skapar och delar dina egna Python-projekt finns i Python packaging user guide.

Anteckning

För företag och andra institutionella användare bör du vara medveten om att många organisationer har sina egna policyer kring användning av och bidrag till programvara med öppen källkod. Ta hänsyn till sådana policyer när du använder de distributions- och installationsverktyg som medföljer Python.

Nyckelbegrepp

  • pip är det föredragna installationsprogrammet. Från och med Python 3.4 ingår det som standard i Pythons binära installationsprogram.

  • En virtuell miljö är en semiisolerad Python-miljö som gör att paket kan installeras för att användas av ett visst program, i stället för att installeras i hela systemet.

  • venv är standardverktyget för att skapa virtuella miljöer och har varit en del av Python sedan Python 3.3. Från och med Python 3.4 installeras pip som standard i alla virtuella miljöer som skapas.

  • virtualenv är ett tredjepartsalternativ (och föregångare) till venv. Det gör att virtuella miljöer kan användas på versioner av Python före 3.4, som antingen inte tillhandahåller venv alls, eller inte automatiskt kan installera pip i skapade miljöer.

  • Python Package Index är ett offentligt arkiv med licensierade paket med öppen källkod som görs tillgängliga för användning av andra Python-användare.

  • Python Packaging Authority är en grupp av utvecklare och dokumentationsförfattare som ansvarar för underhåll och utveckling av standardpaketeringsverktygen och tillhörande metadata och filformatstandarder. De underhåller en mängd olika verktyg, dokumentation och problemspårare på GitHub.

  • distutils är det ursprungliga bygg- och distributionssystemet som först lades till i Pythons standardbibliotek 1998. Även om direkt användning av distutils håller på att fasas ut, lade det fortfarande grunden för den nuvarande förpacknings- och distributionsinfrastrukturen, och det förblir inte bara en del av standardbiblioteket, utan dess namn lever vidare på andra sätt (till exempel namnet på e-postlistan som används för att samordna utvecklingen av Pythons förpackningsstandarder).

Ändrad i version 3.5: Användningen av venv rekommenderas nu för att skapa virtuella miljöer.

Grundläggande användning

Standardverktygen för paketering är alla utformade för att användas från kommandoraden.

Följande kommando installerar den senaste versionen av en modul och dess beroenden från Python Package Index:

python -m pip install NågotPaket

Anteckning

För POSIX-användare (inklusive MacOS- och Linux-användare) förutsätter exemplen i den här guiden att en virtuell miljö används.

För Windows-användare förutsätter exemplen i den här guiden att alternativet att justera systemets PATH-miljövariabel valdes när Python installerades.

Det är också möjligt att ange en exakt eller minsta version direkt på kommandoraden. När du använder jämförelseoperatorer som >, < eller något annat specialtecken som tolkas av shell, ska paketnamnet och versionen anges inom dubbla citattecken:

python -m pip install NågotPaket==1.0.4 # specifik version
python -m pip install "NågotPaket>=1.0.4" # minsta version

Om en lämplig modul redan är installerad kommer det normalt inte att ha någon effekt att försöka installera den igen. Uppgradering av befintliga moduler måste uttryckligen begäras:

python -m pip install --upgrade NågotPaket

Mer information och resurser om pip och dess funktioner finns i Python Packaging User Guide.

Skapandet av virtuella miljöer görs med modulen venv. För att installera paket i en aktiv virtuell miljö används de kommandon som visas ovan.

Hur gör jag…?

Här hittar du snabba svar eller länkar till några vanliga uppgifter.

… installera pip i versioner av Python före Python 3.4?

Python började paketera pip först med Python 3.4. För tidigare versioner måste pip ”bootstrappas” enligt beskrivningen i Python Packaging User Guide.

… installera paket bara för den aktuella användaren?

Om du anger alternativet --user till python -m pip install installeras ett paket bara för den aktuella användaren, i stället för för alla användare i systemet.

… installera vetenskapliga Python-paket?

Ett antal vetenskapliga Python-paket har komplexa binära beroenden och är för närvarande inte lätta att installera direkt med pip. För närvarande är det ofta enklare för användare att installera dessa paket på annat sätt än att försöka installera dem med pip.

… arbeta med flera versioner av Python installerade parallellt?

På Linux, macOS och andra POSIX-system använder du de versionsanpassade Python-kommandona i kombination med -m-omkopplaren för att köra rätt kopia av pip:

python2   -m pip install NågotPaket  # standard i Python 2
python2.7 -m pip install NågotPaket  # specifikt Python 2.7
python3   -m pip install NågotPaket  # standard i Python 3
python3.4 -m pip install NågotPaket  # specifikt Python 3.4

Lämpligt versionerade pip-kommandon kan också finnas tillgängliga.

I Windows använder du Python-startprogrammet py i kombination med omkopplaren -m:

py -2   -m pip install NågotPaket  # standard i Python 2
py -2.7 -m pip install NågotPaket  # specifikt Python 2.7
py -3   -m pip install NågotPaket  # standard i Python 3
py -3.4 -m pip install NågotPaket  # specifikt Python 3.4

Vanliga installationsproblem

Installera Python i systemet under Linux

På Linux-system ingår vanligtvis en Python-installation som en del av distributionen. Installation i denna Python-installation kräver root-åtkomst till systemet och kan störa driften av systemets pakethanterare och andra komponenter i systemet om en komponent oväntat uppgraderas med hjälp av pip.

På sådana system är det ofta bättre att använda en virtuell miljö eller en installation per användare när du installerar paket med pip.

Pip inte installerad

Det är möjligt att pip inte installeras som standard. En potentiell lösning är:

python -m ensurepip --default-pip

Det finns också ytterligare resurser för att installera pip.

Installera binära tillägg

Python har vanligtvis förlitat sig starkt på källbaserad distribution, där slutanvändare förväntas kompilera tilläggsmoduler från källan som en del av installationsprocessen.

Med införandet av stöd för det binära wheel-formatet och möjligheten att publicera hjul för åtminstone Windows och macOS via Python Package Index, förväntas detta problem minska med tiden, eftersom användare mer regelbundet kan installera förbyggda tillägg i stället för att behöva bygga dem själva.

Några av lösningarna för att installera ”vetenskaplig programvara <https://packaging.python.org/science/>” som ännu inte finns tillgängliga som förbyggda ”hjul”-filer kan också hjälpa till att få andra binära tillägg utan att behöva bygga dem lokalt.