Programmering

Sådan installeres Python på den smarte måde

Python er nem at bruge, venlig for begyndere og kraftig nok til at skabe robust software med til næsten enhver applikation. Men det er stadig et stykke software som enhver anden, hvilket betyder, at det kan være komplekst at opsætte og administrere.

I denne artikel gennemgår vi, hvordan du konfigurerer Python på den rigtige måde: hvordan man vælger den passende version, hvordan man holder flere versioner fra at træde på hinanden, og hvordan man undgår alle de andre skarpe kanter og potentielle faldgruber langs vej.

Vælg den rigtige Python-version og distribution

Af hensyn til kompatibiliteten med tredjepartsmoduler er det altid sikreste at vælge en Python-version, der er en større punktrevision bag den nuværende.

På tidspunktet for denne skrivning er Python 3.8.1 den nyeste version. Det sikre bud er derfor at bruge den seneste opdatering af Python 3.7 (i dette tilfælde Python 3.7.6). Du kan altid prøve den nyeste version af Python på en kontrolleret måde - f.eks. I en VM eller en testmaskine - men at gå en version tilbage garanterer den bedste kompatibilitet med almindelige tredjeparts Python-pakker.

Python kommer også i en række distributioner, på samme måde som Linux. I modsætning til Linux tilbyder Python dog en "officiel" udgave af guldstandard, som du altid kan falde tilbage på: CPython, den version, der leveres af Python Software Foundation på python.org. Igen er dette den sikreste og bredeste kompatible distribution, den, der ingen fyres for at vælge. (Du vil måske undersøge andre Python-distributioner senere, da de adresserer specifikke brugssager, du måske har, men vi vil ikke overveje dem her.)

Et nøglevalg, du skal foretage, især i Windows, er, om du skal bruge 32-bit eller 64-bit version af Python. Det mest sandsynlige svar er 64-bit af følgende grunde:

  • De fleste moderne operativsystemer bruger en 64-bit udgave af Python som standard. Windows-brugere kan køre 32-bit-udgaver af Python på 64-bit Windows, men til en mindre ydelsesomkostning.
  • 32-bit Python og 32-bit apps generelt kan kun få adgang til 4 GB hukommelse ad gangen. 64-bit applikationer har ikke denne grænse, hvorfor mange dataanalyser og maskinlæringsværktøjer til Python fungerer bedst i 64-bit inkarnationer. Nogle er kun tilgængelige i 64-bit versioner.

Den eneste gang du skal vælge 32-bit versionen af ​​Python er, hvis du sidder fast med en 32-bit version af Windows, eller hvis du skal bruge et tredjepartsmodul, der kun er tilgængeligt i en 32-bit udgave.

Installer Python på Windows på den smarte måde

Python installeres på Windows på samme måde som enhver anden applikation ved hjælp af et installationsprogram, der guider dig gennem installationsprocessen.

Som standard placerer Python-installationsprogrammet til Windows sine eksekverbare filer i brugerens AppData bibliotek, så det ikke kræver administrative tilladelser. Hvis du er den eneste bruger på systemet, kan du placere Python i et bibliotek på højere niveau (f.eks. C: \ Python3.7) for at gøre det lettere at finde. Windows-installationsprogrammet giver dig mulighed for at angive målmappen.

Vælg det rigtige Python-installationsprogram til Windows

Python.org tilbyder en række forskellige inkarnationer af Python til Windows. Ud over de allerede nævnte 32-bit (“x86”) og 64-bit (“x86-64”) versioner, kan du vælge mellem den integrerede zip-fil, den eksekverbare installationsinstallation og det webbaserede installationsprogram. Her handler det om:

  • Det eksekverbar installatør er bare en .EXE-fil, der kører installationsprocessen for Python. Dette er det nemme standardvalg og det mest almindelige.
  • Det webbaseret installationsprogram er det samme som det eksekverbare installationsprogram, bortset fra at det separat downloader de nødvendige bits for at udføre installationen. Dette reducerer størrelsen på det faktiske installationsprogram dramatisk, men kræver selvfølgelig en netværksforbindelse.
  • Det indlejret zip-fil er en selvstændig, minimal kopi af Python-runtime, der passer i en enkelt mappe uden afhængigheder. Det er nyttigt at samle det, når du vil distribuere en Python-app manuelt, eller når du har brug for en hurtig, engangs Python-installation for at teste noget i farten. Men den indlejrede lynlås inkluderer ikkepip eller et af de andre nyttige værktøjer, der følger med en fuld installation, så det er kun til ekspertbrug.

Installer Python ved hjælp af en pakkehåndtering til Windows

Endnu en mulighed er at bruge et af de pakkehåndteringssystemer, der findes til Windows. NuGet, pakkehåndtereren til .NET, tilbyder Python i sit lager. Imidlertid leveres Python der hovedsageligt for at bruge det som en komponent i et .NET-program, ikke som en måde at installere en enkeltstående forekomst af Python til generel brug. Du vil sandsynligvis finde din Python-forekomst lettere at administrere, hvis du installerer Python regelmæssigt.

Chocolatey, et mere generelt Windows-pakkehåndteringssystem, tilbyder også Python. Chocolatey er en praktisk måde at køre Python-installationsprogrammet på og spore tilstedeværelsen af ​​Python-sprogets kørselstid i dit system - og dermed et bedre valg end NuGet. Det er dog bedst at undgå at blande og matche Chocolatey-installationer og regelmæssige installationer af Python på det samme system.

Installer Python på Linux på den smarte måde

Da Linux-distributioner adskiller sig markant, er den typiske måde at installere Python på Linux på at bruge den specifikke distros pakkehåndtering. Ubuntu og Fedora har for eksempel helt forskellige procedurer til installation af Python. På Linux (og MacOS) er målmappen til installationen normalt forudbestemt og baseret på Python-versionsnummeret, f.eks. /usr/bin/python3.X på Linux eller / usr / local / opt / python / på Mac.

En måde at undgå at håndtere komplikationer hos Linux-pakkeforvaltere er at bruge en containeriseret Python-runtime. Containere kører isoleret fra resten af ​​systemet, så du behøver ikke bekymre dig om forskellige Python-driftstider, der træder på hinandens tæer. Men hvis din arbejdsgang ikke allerede indeholder containere, skal du bruge tid og energi på at komme op i hastighed med Docker. (Bemærk, at du også kan bruge containeriseret Python på Windows.)

Et værktøj med navnet asdf-vm er også nyttigt her. Du kan bruge asdf-vm til at administrere flere Python-driftstider på Unix-lignende systemer (Linux og MacOS) - og flere driftstider til Node.js, Ruby, Elixir og mange andre sprog også. Så hvis du finder dig selv i at jonglere versioner af andre ting udover Python, vil du gerne undersøge asdf-vm.

Installer Python på MacOS på den smarte måde

MacOS har traditionelt leveret med en version af Python installeret, men aldrig nyere end Python 2.7. Dette skabte problemer, da Python 3 ankom, da de to versioner ofte var i konflikt. Den officielle Python-dokumentation har nogle noter herom, men giver ikke mere detaljerede anbefalinger end at sikre, at du bruger den rigtige sti til den ønskede Python-forekomst.

En almindelig måde at administrere Python-driftstider på MacOS på er via Homebrew-pakkehåndtering. Homebrew giver en ensartet grænseflade til download, installation, administration og fjernelse af Python og andre tredjeparts kommandolinjeapps.

Installer Python-pakker på den smarte måde

Når du har konfigureret en basisinstallation af en Python-version, gør det ikke start installation af pakker direkte i det med pip - nej, ikke engang hvis du planlægger at bruge Python til kun et projekt. Opret dine projektmapper, installer Python virtuelle miljøer i dem, derefter installere pakker i disse virtuelle miljøer. På denne måde forbliver basisinstallationen ren.

Hvis du vil administrere flere projekter med virtuelle miljøer og afhængigheder på et højt niveau, skal du undersøge Poetry-projektet. Poesi giver et kommandolinjeværktøj til styring af virtuelle miljøer og afhængigheder på et højt niveau.

Installer flere Python-versioner side om side

Det eneste sværeste problem, når man beskæftiger sig med Python-installationer, er, hvordan man håndterer forskellige versioner af Python installeret side om side. To universelle tommelfingerregler gælder her:

  • Installer altid hver version i en anden mappe.
  • Sørg for, at eventuelle systemstier er konfigureret til at pege først til den version, du vil køre som standard.

At køre flere Python-versioner argumenterer stærkt for virtuelle miljøer pr. Projekt. Når det virtuelle miljø aktiveres, er al Python-aktivitet inden for projektets kontekst automatisk rettet mod den rigtige version af Python,

En anden mulighed Windows-brugere skal kontrollere, hvilken Python-version der skal bruges, når der er installeret multipler, er py launcher-app. Under Python-opsætning tilbydes du muligheden for at installere py launcher, en lille eksekverbar, der lader dig vælge (via kommandolinjeflag) hvilken version af Python, der skal bruges til et givet script. For eksempel at køre pip til Python 3.7, ville du gå indpy -3,7-m pip.

Opgrader Python på den smarte måde

Mindre revisionsopgraderinger til Python - fx Python 3.7.2 til Python 3.7.3 - er generelt lette nok. På Windows registrerer installationsprogrammet tilstedeværelsen af ​​den eksisterende version og opgraderer den. På Linux og MacOS gør installationsprogrammet eller pakkehåndteringen typisk det samme.

Dog vil ethvert virtuelt miljø, du har oprettet, gøre det også skal opgraderes de opgraderer ikke automatisk. For at opgradere Python i et virtuelt miljø skal du blot navigere til biblioteket for virtuelt miljø og indtastevenv --opgradere. Igen skal du bemærke, at dette fungerer bedst kun til mindre punktrevisionsopgraderinger - som Python 3.7.2 til Python 3.7.3.

Hvis du udfører en større punktrevisionsopgradering, såsom Python 3.7 til Python 3.8, er dit bedste valg at bruge venv for at oprette en ny, separat underkatalog til virtuelt miljø i projektmappen, geninstallere eventuelle afhængigheder i den og skifte til brug af det nye virtuelle miljø. De fleste IDE'er med Python-understøttelse (f.eks. Microsoft Visual Studio Code) registrerer flere virtuelle miljøer i et projekt og giver dig mulighed for at skifte mellem dem.

$config[zx-auto] not found$config[zx-overlay] not found