2. Utilizando Python em plataformas Unix¶
2.1. Obtendo e instalando a versão mais recente do Python¶
2.1.1. No Linux¶
O Python vem pré-instalado na maioria das distribuições Linux e está disponível como um pacote em todos as outras. No entanto, existem certos recursos que podemos querer utilizar e que não estão disponíveis no pacote da sua distro. Poderás compilar facilmente a versão mais recente do Python desde a origem.
Nas situações em que o Python não vier pré-instalado e também não estiver nos repositórios, poderás facilmente gerar os pacotes para a sua distro. Veja os seguintes links:
Ver também
- https://www.debian.org/doc/manuals/maint-guide/first.en.html
para usuários Debian
- https://en.opensuse.org/Portal:Packaging
para usuários OpenSuse
- https://docs-old.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-creating-rpms.html
para usuários Fedora
- http://www.slackbook.org/html/package-management-making-packages.html
para usuários do Slackware
2.1.2. No FreeBSD e OpenBSD¶
usuários do FreeBSD, para adicionar a utilização do pacote utilize:
pkg install python3
Usuários do OpenBSD, para adicionar pacotes use:
pkg_add -r python pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/<insert your architecture here>/python-<version>.tgz
Por exemplo, usuários i386 podem pegar a versão 2.5.1 do Python usando o comando:
pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz
2.1.3. No OpenSolaris¶
Podes baixar o Python desde OpenCSW. Várias versões do Python estão disponíveis e poderás instala-las, por exemplo pkgutil -i python27
.
2.2. Compilando o Python¶
Se você quer compilar o CPython, a primeira coisa que você precisa fazer é baixar o código-fonte. Você pode baixar a última versão ou usar o git para fazer um clone. (Se você pretende contribuir modificações, você vai precisar um “clone”.)
O processo de compilação consiste nos comandos usuais:
./configure
make
make install
Opções de configuração e advertências para plataformas específicas do Unix estão amplamente documentadas no arquivo README.rst na raiz da árvore de fontes Python.
Aviso
make install
pode sobrescrever ou mascarar o arquivo binário python3
. make altinstall
é, portanto, recomendado ao invés de make install
uma vez que o mesmo apenas instala o arquivo exec_prefix/bin/pythonversion
.
2.4. Diversos¶
Para usar facilmente scripts Python no Unix, você precisa torná-los executáveis, por exemplo, com
$ chmod +x script
e colocar uma linha Shebang apropriada no topo do script. Uma boa escolha normalmente é
#!/usr/bin/env python3
que procura o interpretador do Python no conjunto PATH
. No entanto, alguns sistemas Unix podem não ter o comando env, então você pode precisar codificar /usr/bin/python3
como o caminho do interpretador.
Para usar comandos Shell em seus scripts Python, veja o módulo subprocess
.
2.5. OpenSSL personalizado¶
Para usar a configuração OpenSSL do seu fornecedor e armazenamento confiável do sistema, localize o diretório com o arquivo
openssl.cnf
ou link simbólico em/etc
. Na maioria das distribuições o arquivo está em/etc/ssl
ou em/etc/pki/tls
. O diretório também deve conter um arquivocert.pem
e/ou um diretóriocerts
.$ find /etc/ -name openssl.cnf -printf "%h\n" /etc/ssl
Baixe, construa e instale o OpenSSL. Certifique-se de usar
install_sw
e nãoinstall
. O destinoinstall_sw
não substitui oopenssl.cnf
.$ curl -O https://www.openssl.org/source/openssl-VERSION.tar.gz $ tar xzf openssl-VERSION $ pushd openssl-VERSION $ ./config \ --prefix=/usr/local/custom-openssl \ --libdir=lib \ --openssldir=/etc/ssl $ make -j1 depend $ make -j8 $ make install_sw $ popd
Construa o Python com o OpenSSL personalizado (veja as opções configure
--with-openssl
e--with-openssl-rpath
)$ pushd python-3.x.x $ ./configure -C \ --with-openssl=/usr/local/custom-openssl \ --with-openssl-rpath=auto \ --prefix=/usr/local/python-3.x.x $ make -j8 $ make altinstall
Nota
As versões de patches do OpenSSL têm uma ABI compatível com versões anteriores. Você não precisa recompilar o Python para atualizar o OpenSSL. É suficiente substituir a instalação personalizada do OpenSSL por uma versão mais recente.