Python-3.11.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 adequadamente usando uma plataforma LFS 11.3.

[Importante]

Importante

Se atualizar para uma nova versão menor do "Python" 3 (por exemplo, de "Python-3.10.x" para "Python-3.11.0"), [então] 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.74.0", "opencv-4.7.0", "Graphviz-7.1.0" (se o "swig" estiver instalado).

Antes de atualizar, você pode obter uma lista completa dos módulos instalados com "pip3 list".

O módulo "wheel" e "meson" oriundos do LFS também terão de ser reinstalados: https://www.linuxfromscratch.org/lfs/view/development/chapter08/wheel.html e https://www.linuxfromscratch.org/lfs/view/development/chapter08/meson.html.

Em sistemas "systemd", também é necessário reinstalar os módulos "MarkupSafe" e "Jinja2" oriundos do LFS: https://www.linuxfromscratch.org/lfs/view/systemd/chapter08/markupsafe.html e https://www.linuxfromscratch.org/lfs/view/systemd/chapter08/jinja2.html.

Informação do Pacote

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

  • Transferência (FTP):

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

  • Tamanho da transferência: 19 MB

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

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

Transferência Adicional Opcional

Dependências do "Python" 3

Recomendadas

Opcionais

BlueZ-5.66, GDB-13.1 (exigido para alguns testes), Valgrind-3.20.0 e libmpdec

Opcionais (Para Módulos Adicionais)

Base de Dados Berkeley-5.3.28, libnsl-2.0.0 e Tk-8.6.13

Observações de Usuário(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  \
            --with-system-ffi    \
            --enable-optimizations &&
make

Para testar o resultado, emita "make test". Alguns testes possivelmente precisem de uma conexão com a Internet. Dois testes, "test_distutils" e "test_embed", são conhecidos por falharem.

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

tar --strip-components=1 \
    --no-same-owner       \
    --no-same-permissions \
    -C /usr/share/doc/python-3.11.2/html \
    -xvf ../python-3.11.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 vincular à versão do sistema do "Expat".

--with-system-ffi: Essa chave habilita vincular à versão do sistema da "libffi".

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

é um nome específico de versão para o aplicativo "python"