Python-3.12.5
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
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.2.
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.80.4 (com GObject Introspection),
libxml2-2.13.3, opencv-4.10.0, FontForge-20230101, gnome-tweaks-46.1, Samba-4.20.4 e
Graphviz-12.1.0 (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.2. 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.5/Python-3.12.5.tar.xz
-
Transferência (FTP):
-
Soma de verificação MD5 da transferência:
02c7d269e077f4034963bba6befdc715
-
Tamanho da transferência: 19 MB
-
Espaço em disco estimado exigido: 335 MB (adicionar 59 MB
para os testes)
-
Tempo de construção estimado: 1,6 UPC (adicionar 0,6 UPC para
testes; ambos usando paralelismo=4)
Transferência Adicional Opcional
Dependências do "Python" 3
Recomendadas
SQLite-3.46.1 (exigido se construir Firefox ou
Thunderbird)
Opcionais
BlueZ-5.77, GDB-15.1 (exigido para alguns testes), Valgrind-3.23.0 e libmpdec
Opcionais (Para Módulos Adicionais)
libnsl-2.0.1, Tk-8.6.14 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.
Dos mais de quarenta e dois mil (42.000) testes, os seguintes são
conhecidos por falharem: test__xxsubinterpreters, test_import,
test_interpreters e test_threading.
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.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
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.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.5 /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.5
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
|