Python-3.12.2

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]

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

[Important]

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 gobject-introspection-1.78.1, libxml2-2.12.5, opencv-4.9.0, Graphviz-10.0.1 (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.9.11. 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.2/Python-3.12.2.tar.xz

  • Nedlasting MD5 sum: e7c178b97bf8f7ccd677b94d614f7b3c

  • Nedlastingsstørrelse: 20 MB

  • Estimert diskplass som kreves: 337 MB (legg til 57 MB for tester)

  • Estimert byggetid: 2.5 SBU (legg til 0.7 SBU for tester; begge bruker parallellisme=4)

Ekstra Valgfri Nedlasting

Python 3 Avhengigheter

Anbefalt

Valgfri

BlueZ-5.72, GDB-14.1 (nødvendig for noen tester), Valgrind-3.22.0, og libmpdec

Valgfri (For Tilleggsmoduler)

libnsl-2.0.1, Tk-8.6.13, 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

For å teste resultatene, utsted LC_ALL=en_US.UTF-8 make test. Noen tester kan trenge en Internett tilkobling. To tester navngitt test_xml_etree og test_xml_etree_c er kjent for å mislykkes med expat-2.6.0 eller nyere.

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.2/html

tar --strip-components=1  \
    --no-same-owner       \
    --no-same-permissions \
    -C /usr/share/doc/python-3.12.2/html \
    -xvf ../python-3.12.2-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.

--with-dbmliborder=bdb:gdbm:ndbm: Bruk denne bryteren hvis du ønsker å bygge Python DBM Modulen mot Berkeley DB i stedet for GDBM.

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

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