Python-3.12.2

Introdução ao Python 3

O pacote Python 3 contém o ambiente de desenvolvimento Python. Isso é útil para programação orientada a objetos, escrita de conjuntos sequenciais de comandos, prototipagem de aplicativos grandes ou desenvolvimento de aplicativos inteiros.

[Nota]

Nota

O Python 3 foi instalado no LFS. A única razão para reconstruí-lo aqui é se módulos opcionais forem necessários ou para atualizar esse pacote.

Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.1.

[Importante]

Importante

Se atualizar para uma nova versão menor do Python 3 (por exemplo, de Python-3.11.x para Python-3.12.0), você precisará reinstalar quaisquer módulos Python3 que tiver instalado. Você também deveria reinstalar pacotes que gerem módulos Python3, incluindo gobject-introspection-1.78.1, libxml2-2.12.5, opencv-4.9.0, Graphviz-10.0.1 (se swig estiver instalado).

Antes de atualizar, você pode obter uma lista de módulos instalados com pip3 list. A lista pode estar incompleta porque alguns módulos Python não são instalados com pip3, por exemplo o módulo cracklib instalado por CrackLib-2.9.11. Use ls /usr/lib/python3.minor/site-packages para uma lista abrangente.

Os módulos Python oriundos do LFS também terão que ser reinstalados: flit-core, wheel, setuptools, meson, MarkupSafe e Jinja2.

Informação do Pacote

  • Transferência (HTTP): https://www.python.org/ftp/python/3.12.2/Python-3.12.2.tar.xz

  • Transferência (FTP):

  • Soma de verificação MD5 da transferência: e7c178b97bf8f7ccd677b94d614f7b3c

  • Tamanho da transferência: 20 MB

  • Espaço em disco estimado exigido: 337 MB (adicionar 57 MB para testes)

  • Tempo de construção estimado: 2,5 UPC (adicionar 0,7 UPC para testes; ambos usando paralelismo=4)

Transferência Adicional Opcional

Dependências do "Python" 3

Recomendadas

Opcionais

BlueZ-5.72, GDB-14.1 (exigido para alguns testes), Valgrind-3.22.0 e libmpdec

Opcionais (Para Módulos Adicionais)

libnsl-2.0.1, Tk-8.6.13 e Berkeley DB (obsoleto)

Observações de Editor(a): https://wiki.linuxfromscratch.org/blfs/wiki/Python3

Instalação do Python 3

Instale o "Python 3" executando os seguintes comandos:

CXX="/usr/bin/g++"               \
./configure --prefix=/usr        \
            --enable-shared      \
            --with-system-expat  \
            --enable-optimizations &&
make

Para testar o resultado, emita LC_ALL=en_US.UTF-8 make test. Alguns testes possivelmente precisem de uma conexão com a Internet. Dois testes chamados test_xml_etree e test_xml_etree_c são conhecidos por falharem com expat-2.6.0 ou mais recentes.

Agora, como o(a) usuário(a) "root":

make install

Se atualizar e a documentação tiver sido baixada, [então] opcionalmente instale-a como o(a) usuário(a) "root":

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

Explicações do Comando

CXX="/usr/bin/g++" ./configure ...: Evite uma mensagem irritante durante a configuração.

--with-system-expat: Essa chave habilita vinculação à versão do sistema do Expat.

--with-dbmliborder=bdb:gdbm:ndbm: Use essa chave se você desejar construir o módulo "DBM" do "Python" contra "Berkeley DB" em vez de "GDBM".

--enable-optimizations: Essa chave habilita otimizações estáveis, mas caras.

--with-lto: Essa chave opcional habilita "Link Time Optimization" denso. Excepcionalmente, ele cria um "/usr/lib/python3.12/config-3.12-<arch>-linux-gnu/libpython3.12.a" muito maior com um pequeno aumento no tempo para compilar o "Python". Os resultados em tempo de execução não parecem mostrar nenhum benefício advindo de fazer isso.

Configurando o Python 3

Para a finalidade de que "python3" encontre a documentação instalada, crie o seguinte link simbólico independente da versão:

ln -svfn python-3.12.2 /usr/share/doc/python-3

e adicione a seguinte variável de ambiente ao perfil individual do(a) usuário(a) ou ao do sistema:

export PYTHONDOCS=/usr/share/doc/python-3/html

Conteúdo

Aplicativos Instalados: 2to3 (link simbólico) e 2to3-3.12, idle3 (link simbólico) e idle3.12, pip3 e pip3.12, pydoc3 (link simbólico) e pydoc3.12, python3 (link simbólico) e python3.12, e python3-config (link simbólico) e python3.12-config
Bibliotecas Instaladas: libpython3.12.so e libpython3.so
Diretórios Instalados: /usr/include/python3.12, /usr/lib/python3.12 e /usr/share/doc/python-3.12.2

Descrições Curtas

idle3

é um conjunto sequencial de comandos envólucros que abrem um editor "GUI" compatível com "Python". Para esse conjunto sequencial de comandos executar, você precisa ter instalado o "Tk" antes do "Python", de forma que o módulo "Tkinter" do "Python" seja construído

pydoc3

é a ferramenta de documentação do "Python"

python3

é uma linguagem de programação interpretada, interativa e orientada a objetos

python3.12

é um nome específico da versão para o programa python