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
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.