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. On 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/python*version*".


2.3. Paths e arquivos relacionados com o Python
===============================================

Estes estão sujeitos a diferenças dependendo das convenções de
instalação local; "prefix" ("${prefix}") e "exec_prefix"
("${exec_prefix}") dependem da instalação e devem ser interpretados da
mesma forma que para o software GNU; eles poderão ser os mesmos.

Por exemplo, na maioria dos sistemas Linux, o padrão para ambos é
"/usr".

+-------------------------------------------------+--------------------------------------------+
| Arquivo/diretório                               | Significado                                |
|=================================================|============================================|
| "*exec_prefix*/bin/python3"                     | Localização recomendada do interpretador.  |
+-------------------------------------------------+--------------------------------------------+
| "*prefix*/lib/python*version*",                 | A localização recomendada dos diretórios   |
| "*exec_prefix*/lib/python*version*"             | contendo os módulos padrão.                |
+-------------------------------------------------+--------------------------------------------+
| "*prefix*/include/python*version*",             | Localizações recomendadas dos diretórios   |
| "*exec_prefix*/include/python*version*"         | contendo os arquivos de inclusão           |
|                                                 | necessários para o desenvolvimento de      |
|                                                 | extensões Python e incorporação do         |
|                                                 | interpretador.                             |
+-------------------------------------------------+--------------------------------------------+


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".
