Python-3.13.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.3.

[Importante]

Importante

Se atualizar para uma nova versão secundária do Python-3 (por exemplo, de Python-3.11.x para Python-3.12.0), você precisará reinstalar quaisquer módulos do Python3 que tiver instalado. Você também deveria reinstalar pacotes que geram módulos do Python3, incluindo GLib-2.82.5 (com GObject Introspection), libxml2-2.13.6, opencv-4.11.0, FontForge-20230101, gnome-tweaks-46.1, Samba-4.21.4 e Graphviz-12.2.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.10.3. 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.13.2/Python-3.13.2.tar.xz

  • Transferência (FTP):

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

  • Tamanho da transferência: 22 MB

  • Espaço em disco estimado exigido: 649 MB (adicionar 65 MB para os testes)

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

Transferência Adicional Opcional

Dependências do "Python" 3

Recomendadas

Opcionais

BlueZ-5.79, GDB-16.2 (exigido para alguns testes), Valgrind-3.24.0 e libmpdec

Opcionais (Para Módulos Adicionais)

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

Alguns testes são conhecidos por travarem ocasional e indefinidamente. Portanto, para testar os resultados, execute a suíte de teste, porém configure um limite de tempo de 2 minutos para cada caso de teste:

make test TESTOPTS="--timeout 120"

Para um sistema relativamente lento, você possivelmente precise aumentar o limite de tempo e 1 UPC (medido ao construir Binutils a passagem 1 com um núcleo de CPU) deveria ser suficiente. Alguns testes são instáveis, de forma que a suíte de teste automaticamente reexecutará testes falhos. Se um teste falhou, porém a seguir passou quando reexecutado, ele deveria ser considerado como passado.

De mais de 44.000 testes, o seguinte teste é conhecido por falhar: test_importlib.

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

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

--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.13/config-3.13-<arch>-linux-gnu/libpython3.13.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.13.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.13, idle3 (link simbólico) e idle3.13, pip3 e pip3.13, pydoc3 (link simbólico) e pydoc3.13, python3 (link simbólico) e python3.13, e python3-config (link simbólico) e python3.13-config
Bibliotecas Instaladas: libpython3.13.so e libpython3.so
Diretórios Instalados: /usr/include/python3.13, /usr/lib/python3.13 e /usr/share/doc/python-3.13.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.13

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