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.fedoraproject.org/en-US/package-maintainers/Packaging_Tutorial_GNU_Hello/
para los usuarios de Fedora
- https://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¶
If you want to compile CPython yourself, first thing you should do is get the source. You can download either the latest release’s source or just grab a fresh clone. (If you want to contribute patches, you will need a clone.)
El proceso de construcción consta de los comandos habituales:
./configure
make
make install
Opciones de configuración y las advertencias para plataformas Unix específicas están ampliamente documentadas en el archivo README.rst en la raíz del árbol de fuentes de Python.
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.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
.
2.5. OpenSSL personalizado¶
Para utilizar la configuración de OpenSSL de su proveedor y el almacén de confianza del sistema, busque el directorio con el archivo
openssl.cnf
o el enlace simbólico en/etc
. En la mayoría de las distribuciones, el archivo está en/etc/ssl
o/etc/pki/tls
. El directorio también debe contener un archivocert.pem
y / o un directoriocerts
.$ find /etc/ -name openssl.cnf -printf "%h\n" /etc/ssl
Descargue, compile e instale OpenSSL. Asegúrese de utilizar
install_sw
y noinstall
. El destinoinstall_sw
no anulaopenssl.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
Build Python with custom OpenSSL (see the configure
--with-openssl
and--with-openssl-rpath
options)$ 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
Las versiones de parche de OpenSSL tienen una ABI compatible con versiones anteriores. No es necesario volver a compilar Python para actualizar OpenSSL. Es suficiente reemplazar la instalación personalizada de OpenSSL con una versión más nueva.