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


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/python*version*",                 | Ubicaciones recomendadas de los            |
| "*exec_prefix*/lib/python*version*"             | directorios que contienen los módulos      |
|                                                 | estándar.                                  |
+-------------------------------------------------+--------------------------------------------+
| "*prefix*/include/python*version*",             | Ubicaciones recomendadas de los            |
| "*exec_prefix*/include/python*version*"         | 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".
