Introduksjon til Python 3
Python 3 pakken inneholder
Python utviklingsmiljø. Dette er
nyttig for objektorientert programmering, skriving av skript,
prototyping av store programmer eller utvikling av hele
applikasjoner.
Note
Python 3 ble installert i LFS.
Den eneste grunnen til å gjenoppbygge den her er hvis valgfrie
moduler er nødvendig, eller for å oppgradere denne pakken.
Denne pakken er kjent for å bygge og fungere riktig ved å bruke en
LFS 12.2 plattform.
Important
Hvis du oppgraderer til en ny Python-3 minor versjon (f.eks. fra
Python-3.11.x til Python-3.12.0), må du installere på nytt
eventuelle Python3 moduler du har installert. Du burde også
installer pakker på nytt som genererer Python3 moduler inkludert
GLib-2.80.4 (med GObject Introspection),
libxml2-2.13.3, opencv-4.10.0, FontForge-20230101, gnome-tweaks-46.1, Samba-4.20.4,
og Graphviz-12.1.0 (hvis swig er installert).
Før du oppgraderer, kan du få en liste over moduler installert
med pip3 list.
Listen kan være ufullstendig siden noen Python moduler ikke er
installert med pip3, for eksempel cracklib
modulen installert med CrackLib-2.10.2. Bruk ls /usr/lib/python3.minor
/site-packages
for en omfattende liste.
Python modulene fra LFS må også installeres på nytt: flit-core,
wheel,
setuptools,
meson,
MarkupSafe,
og Jinja2.
På systemd systemer er det også nødvendig å installere MarkupSafe
og Jinja2 moduler på nytt fra LFS:
https://www.linuxfromscratch.org/lfs/view/systemd/chapter08/markupsafe.html
og
https://www.linuxfromscratch.org/lfs/view/systemd/chapter08/jinja2.html.
Pakkeinformasjon
-
Nedlasting (HTTP):
https://www.python.org/ftp/python/3.12.5/Python-3.12.5.tar.xz
-
Nedlasting MD5 sum: 02c7d269e077f4034963bba6befdc715
-
Nedlastingsstørrelse: 19 MB
-
Estimert diskplass som kreves: 335 MB (legg til 59 MB for
tester)
-
Estimert byggetid: 1.6 SBU (legg til 0.6 SBU for tester;
begge bruker parallellisme=4)
Ekstra Valgfri Nedlasting
Python 3 Avhengigheter
Anbefalt
SQLite-3.46.1 (nødvendig hvis du bygger firefox
eller thunderbird)
Valgfri
BlueZ-5.77, GDB-15.1 (nødvendig for noen tester), Valgrind-3.23.0, og libmpdec
Valgfri (For Tilleggsmoduler)
libnsl-2.0.1, Tk-8.6.14, og Berkeley
DB (deprecated)
Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/Python3
Installasjon av Python 3
Installer Python 3 ved å kjøre
følgende kommandoer:
CXX="/usr/bin/g++" \
./configure --prefix=/usr \
--enable-shared \
--with-system-expat \
--with-system-ffi \
--enable-optimizations &&
make
Noen tester er kjent for å av og til henge på ubestemt tid. Så for
å teste resultatene, kjør testpakken, men sett en tidsbegrensning
på 2 minutter for hver testforsøk:
make test TESTOPTS="--timeout 120"
For et relativt tregt system må du kanskje øke tidsbegrensningen og
1 SBU (målt når du bygger Binutils passerer 1 med én CPU kjerne)
bør være nok. Noen tester er flassete, så testpakken vil kjøre
mislykkede tester automatisk på nytt. Hvis en test mislyktes, men
deretter bestått når den kjøres på nytt, bør den anses som bestått.
Av over 42 000 tester er følgende kjent for å mislykkes:
test__xxsubinterpreters, test_import, test_interpreters, og
test_threading.
Nå, som root
bruker:
make install
Hvis oppgraderingen og dokumentasjonen er lastet ned, kan du
eventuelt installere det som root
bruker:
install -v -dm755 /usr/share/doc/python-3.12.5/html
tar --strip-components=1 \
--no-same-owner \
--no-same-permissions \
-C /usr/share/doc/python-3.12.5/html \
-xvf ../python-3.12.5-docs-html.tar.bz2
Parameterforklaringer
CXX="/usr/bin/g++" ./configure
...: Unngå en irriterende melding under
konfigurasjonen.
--with-system-expat
: Denne
bryteren muliggjør kobling mot systemversjonen av Expat.
--enable-optimizations
:
Denne bryteren aktiverer stabile, men dyre, optimaliseringer.
--with-lto
: Denne valgfrie bryteren
muliggjør tykk Link Time Optimization. Uvanlig skaper det en mye
større /usr/lib/python3.12/config-3.12-<arch>-linux-gnu/libpython3.12.a
med en liten økning i kompileringstiden til Python. Kjøretidsresultater ser ikke ut til å
vise noen fordel av å gjøre dette.
Konfigurere Python 3
For at python3 skal
finne den installerte dokumentasjon, opprett følgende
versjonsuavhengig symbolkobling:
ln -svfn python-3.12.5 /usr/share/doc/python-3
og legg til følgende miljøvariabel til den enkelte brukers eller
systemets profil:
export PYTHONDOCS=/usr/share/doc/python-3/html
Innhold
Installerte Programmer:
2to3 (symlenke) og 2to3-3.12, idle3
(symlenke) og idle3.12, pip3 og pip3.12, pydoc3 (symlenke) og
pydoc3.12, python3 (symlenke); og python3.12, og python3-config
(symlenke) og python3.12-config
Installerte Biblioteker:
libpython3.12.so og libpython3.so
Installerte Mapper:
/usr/include/python3.12,
/usr/lib/python3.12, og /usr/share/doc/python-3.12.5
Korte Beskrivelser
idle3
|
er et innpakningsskript som åpner en Python bevisst GUI redigerer. For at
dette skriptet skal kjøre, må du ha installert
Tk før Python sånn at
Tkinter Python modul blir bygget
|
pydoc3
|
er Python
dokumentasjonsverktøy
|
python3
|
er en tolket, interaktiv, objektorientert
programmeringsspråk
|
python3.12
|
er et versjonsspesifikt navn for python programmet
|