# 2. Uso de Python en plataformas Unix

## 2.1. Obteniendo e instalando la última versión de Python

### 2.1.1. En Linux

Python viene preinstalado en la mayoría de distribuciones Linux, y también está disponible como paquete en el resto. Sin embargo, hay determinadas características que puede que quiera usar y no están disponibles en tu paquete de distribución. Puedes compilar fácilmente la última versión de Python de la fuente.

En caso de que Python no venga preinstalado y tampoco se encuentre en los repositorios, puede crear fácilmente paquetes para su propia distribución. Eche un vistazo a los siguientes enlaces:

Ver también

https://www.debian.org/doc/manuals/maint-guide/first.en.html

  para usuarios de Debian

https://en.opensuse.org/Portal:Packaging

  para los usuarios de OpenSuse

https://docs-old.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-creating-rpms.html

  para los usuarios de Fedora

http://www.slackbook.org/html/package-management-making-packages.html

  para los usuarios de Slackware

### 2.1.2. En FreeBSD y OpenBSD

- Usuarios FreeBSD, para añadir al paquete use:

      pkg install python3

- Usuarios OpenBSD, para añadir al paquete use:

      pkg_add -r python

      pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/<insert your architecture here>/python-<version>.tgz

  Por ejemplo, los usuarios de i386 obtienen la versión 2.5.1 de Python usando:

      pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz

### 2.1.3. En OpenSolaris

Puede obtener Python de OpenCSW. Varias versiones de Python están disponibles y pueden ser instaladas, por ejemplo: `pkgutil -i python27`.

## 2.2. Construyendo Python

Si quisiera compilar CPython por sí mismo, lo primero que debería hacer es obtener la fuente. Puede descargar la fuente de la última versión o simplemente obtener un nuevo clon. Si desea contribuir con parches, necesitará un clon.

El proceso de construcción consta de los comandos habituales:

    ./configure
    make
    make install

Las opciones de configuración y las advertencias para plataformas Unix específicas están ampliamente documentadas en el fichero README.rst del árbol de origen.

Advertencia

`make install` puede sobreescribir o enmascarar el binario `python3`. Por lo tanto se recomienda `make altinstall` en lugar de `make install` debido a que sólo instala `exec_prefix/bin/pythonversion`.

## 2.3. Rutas y archivos relacionados con Python

Estos están sujetos a diferencias según las convenciones de instalación locales; `prefix` (`${prefix}`) y `exec_prefix` (`${exec_prefix}`) son dependientes de la instalación y deben interpretarse como software GNU; deben ser iguales.

Por ejemplo, en la mayoría de los sistemas Linux, el valor predeterminado para ambos es `/usr`.

Archivo/directorio | Significado
--- | ---
`exec_prefix/bin/python3` | Ubicación recomendada del intérprete.
`prefix/lib/pythonversion`, `exec_prefix/lib/pythonversion` | Ubicaciones recomendadas de los directorios que contienen los módulos estándar.
`prefix/include/pythonversion`, `exec_prefix/include/pythonversion` | Ubicaciones recomendadas de los directorios que contienen los archivos de inclusión necesarios para desarrollar extensiones de Python e incrustar el intérprete.

## 2.4. Miscelánea

Para usar fácilmente los scripts de Python en Unix, debe hacerlos ejecutables, p. ej. con

    $ chmod +x script

y coloque una línea Shebang adecuada en la parte superior del script. Una buena opción es usualmente

    #!/usr/bin/env python3

que busca el intérprete de Python en el conjunto `PATH`. Sin embargo, algunos Unices puede que no tengan el comando env, por lo que es posible que deba codificar `/usr/bin/python3` como la ruta intérprete.

Para usar comandos de shell en sus scripts de Python, mire el módulo `subprocess`.