8.50. Python-3.10.6

Python 3 pakken inneholder Python utviklingsmiljøet. Den er nyttig for objektorientert programmering, skriving av skript, prototyping store programmer, eller utvikle hele applikasjoner.

Omtrentlig byggetid: 3.4 SBU
Nødvendig diskplass: 283 MB

8.50.1. Installasjon av Python 3

Forbered Python for kompilering:

./configure --prefix=/usr        \
            --enable-shared      \
            --with-system-expat  \
            --with-system-ffi    \
            --enable-optimizations

Betydningen av konfigureringsalternativene:

--with-system-expat

Denne bryteren muliggjør kobling mot systemversjonen av Expat.

--with-system-ffi

Denne bryteren muliggjør kobling mot systemversjonen av libffi.

--enable-optimizations

Denne bryteren muliggjør stabile, men dyre, optimaliseringer.

Kompiler pakken:

make

Det anbefales ikke å kjøre testene på dette tidspunktet. Tester er kjent for å henge på ubestemt tid i det delvise LFS miljøet. Om ønskelig kan testene kjøres på nytt på slutten av dette kapittelet eller når Python 3 er reinstallert i BLFS. For å kjøre testene uansett, utsted make test.

Installer pakken:

make install

Flere steder bruker vi kommandoen pip3 for å installere Python 3 programmer og moduler for alle brukere som root. Dette er i konflikt med Python-utviklernes anbefaling om å installere pakker i en virtuelt miljø eller hjemmemappen til en vanlig bruker (ved å kjøre pip3 som denne brukeren). For dette formål blir en advarsel med flere linjer skrevet når du bruker pip3 som root brukeren. Hovedgrunnen for denne anbefalingen er å unngå konflikt med systemets pakkebehandling (dpkg for eksempel), men LFS har ikke en systemomfattende pakkebehandling, så dette er ikke et problem. Og, pip3 vil prøve å se etter en ny versjon av seg selv når den kjøres. Siden domenenavnsløsning ikke er konfigurert i LFS chroot miljøet ennå, vil den ikke se etter en ny versjon og gi en advarsel. Når vi starter opp LFS systemet og setter opp nettverkstilkobling, vil den deretter produsere en advarsel som ber brukeren om å oppdatere den fra et forhåndsbygd hjul på PyPI hvis en ny versjon er tilgjengelig. Men LFS betrakter pip3 som en del av Python 3, så den burde ikke oppdateres separat, og en oppdatering fra et forhåndsbygd hjul vil avvike fra vårt formål å bygge et Linux system fra kildekode. Så advarsel for en ny pip3 versjon bør ignoreres om vi vil. Hvis ønskelig, undertrykk disse advarslene ved å kjøre følgende kommandoer:

cat > /etc/pip.conf << EOF
[global]
root-user-action = ignore
disable-pip-version-check = true
EOF
[Important]

Important

I LFS og BLFS bygger og installerer vi normalt Python-moduler med pip3 Vennligst pass på at pip3 install kommandoer i begge bøkene skal kjøres som root brukeren med mindre det er for et virtuelt Python-miljø. Å kjøre en pip3 install som en ikke-root bruker kan synes å fungerer fint, men det vil føre til at den installerte modulen blir utilgjengelig av andre brukere.

pip3 install vil ikke installere en allerede installert modul som standard. For å bruke pip3 install kommandoen for å oppgradere en modul (for eksempel fra meson-0.61.3 til meson-0.62.0), legg til --upgrade til kommandolinjen. Hvis det virkelig er nødvendig å nedgradere en modul eller installer samme versjon på nytt av en eller annen grunn, sett inn --force-reinstall --no-deps i kommandolinjen.

Hvis ønskelig, installer den forhåndsformaterte dokumentasjonen:

install -v -dm755 /usr/share/doc/python-3.10.6/html

tar --strip-components=1  \
    --no-same-owner       \
    --no-same-permissions \
    -C /usr/share/doc/python-3.10.6/html \
    -xvf ../python-3.10.6-docs-html.tar.bz2

Betydningen av dokumentasjonsinstallasjons kommandoene:

--no-same-owner og --no-same-permissions

Sørg for at de installerte filene har riktig eierskap og tillatelser. Uten disse alternativene, å bruke tar vil installere pakkefilene med oppstrøms skaperens verdier.

8.50.2. Innhold i Python 3

Installerte programmer: 2to3, idle3, pip3, pydoc3, python3, og python3-config
Installert bibliotek: libpython3.10.so og libpython3.so
Installerte mapper: /usr/include/python3.10, /usr/lib/python3, og /usr/share/doc/python-3.10.6

Korte beskrivelser

2to3

er et Python program som leser Python 2.x kildekoden og bruker en serie reparasjoner for å forvandle den til gyldig Python 3.x kode

idle3

er et innpakningsskript som åpner en Python bevisst GUI tekstprogram. For at dette skriptet skal kjøre, må du ha installert Tk før Python slik at Tkinter Python modulen blir bygget

pip3

Pakkeinstallasjonsprogrammet for Python. Du kan bruke pip til å installere pakker fra Python Pakke Indeks og andre indekser

pydoc3

er Python dokumentasjonsverktøy

python3

er et tolket, interaktiv, objektorientert programmerings språk