Instale Python 3.7 en Ubuntu 18.04 LTS
Python es uno de los lenguajes de programación de propósito general más populares y bajo demanda. Es un lenguaje de programación interpretado de alto nivel que admite múltiples paradigmas de programación que incluyen programación procedimental, orientada a objetos y funcional. A menudo se describe como un lenguaje con «pilas incluidas» debido a su amplia biblioteca estándar.
Es un lenguaje de programación ampliamente utilizado y extremadamente versátil, ya que es utilizado por principiantes y científicos para diferentes tipos de actividades. Se utiliza para la programación y creación de scripts de sistemas, la automatización de tareas repetitivas, la creación de sitios web y aplicaciones web, algoritmos de aprendizaje automático, análisis de datos y mucho más.
En este tutorial, aprenderemos cómo instalar Python 3.7 en Ubuntu 18.04 LTS Bionic Beaver. Incluiremos dos formas principales de instalarlo en una máquina Ubuntu 18.04, una es a través de PPA de serpientes muertas usando el administrador de paquetes APT, mientras que otro es compilando a través del código fuente.
Instale Python 3 .7 en ubuntu usando APT (con PPA)
De forma predeterminada, en Ubuntu 18.04 viene con Python 3.6.9. Al ejecutar el siguiente comando, puede obtener la versión de Python:
python3 --version Python 3.6.9
En primer lugar, debemos asegurarnos de actualizar el índice del repositorio de paquetes de Ubuntu de nuestra máquina Ubuntu 18.04. Esto se puede hacer ejecutando el siguiente comando:
$ sudo apt update
Una vez que se realiza la actualización, tendremos que asegurarnos de que el paquete ‘software-properties-common’ esté instalado en nuestra máquina para poder agregar un PPA a nuestra máquina.
$ sudo apt install software-properties-common
Ahora, podemos agregar fácilmente el PPA de deadsnakes usando el siguiente comando:
$ sudo add-apt-repository ppa:deadsnakes/ppa
Finalmente, como el PPA requerido se agrega a nuestra máquina Ubuntu 18.04, ahora podemos simplemente usar el comando apt para instalar Python 3.7.
los -y
La opción en apt informa al comando para establecer sí automáticamente en las solicitudes.
$ sudo apt install python3.7 -y
Output $ sudo apt install python3.7 -y Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libpython3.7-minimal libpython3.7-stdlib python3-distutils python3-lib2to3 python3.7-minimal Suggested packages: python3.7-venv python3.7-doc binfmt-support The following NEW packages will be installed: libpython3.7-minimal libpython3.7-stdlib python3-distutils python3-lib2to3 python3.7 python3.7-minimal 0 upgraded, 6 newly installed, 0 to remove and 321 not upgraded. Need to get 4,792 kB of archives. After this operation, 26.6 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic/main amd64 libpython3.7-minimal amd64 3.7.7-1+bionic1 [596 kB] Get:2 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 python3-lib2to3 all 3.6.9-1~18.04 [77.4 kB] Get:3 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic/main amd64 python3.7-minimal amd64 3.7.7-1+bionic1 [1,839 kB] Get:4 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 python3-distutils all 3.6.9-1~18.04 [144 kB] Get:5 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic/main amd64 libpython3.7-stdlib amd64 3.7.7-1+bionic1 [1,784 kB] Get:6 http://ppa.launchpad.net/deadsnakes/ppa/ubuntu bionic/main amd64 python3.7 amd64 3.7.7-1+bionic1 [351 kB] Fetched 4,792 kB in 7s (737 kB/s) Selecting previously unselected package libpython3.7-minimal:amd64. (Reading database ... 134446 files and directories currently installed.) Preparing to unpack .../0-libpython3.7-minimal_3.7.7-1+bionic1_amd64.deb ... Unpacking libpython3.7-minimal:amd64 (3.7.7-1+bionic1) ... Selecting previously unselected package python3.7-minimal. Preparing to unpack .../1-python3.7-minimal_3.7.7-1+bionic1_amd64.deb ... Unpacking python3.7-minimal (3.7.7-1+bionic1) ... Selecting previously unselected package libpython3.7-stdlib:amd64. Preparing to unpack .../2-libpython3.7-stdlib_3.7.7-1+bionic1_amd64.deb ... Unpacking libpython3.7-stdlib:amd64 (3.7.7-1+bionic1) ... Selecting previously unselected package python3-lib2to3. Preparing to unpack .../3-python3-lib2to3_3.6.9-1~18.04_all.deb ... Unpacking python3-lib2to3 (3.6.9-1~18.04) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../4-python3-distutils_3.6.9-1~18.04_all.deb ... Unpacking python3-distutils (3.6.9-1~18.04) ... Selecting previously unselected package python3.7. Preparing to unpack .../5-python3.7_3.7.7-1+bionic1_amd64.deb ... Unpacking python3.7 (3.7.7-1+bionic1) ... Processing triggers for mime-support (3.60ubuntu1) ... Processing triggers for desktop-file-utils (0.23-1ubuntu3.18.04.2) ... Setting up libpython3.7-minimal:amd64 (3.7.7-1+bionic1) ... Setting up python3.7-minimal (3.7.7-1+bionic1) ... Processing triggers for man-db (2.8.3-2ubuntu0.1) ... Processing triggers for gnome-menus (3.13.3-11ubuntu1.1) ... Setting up python3-lib2to3 (3.6.9-1~18.04) ... Setting up python3-distutils (3.6.9-1~18.04) ... Setting up libpython3.7-stdlib:amd64 (3.7.7-1+bionic1) ... Setting up python3.7 (3.7.7-1+bionic1) ...
Ahora, para asegurarnos de que Python se instaló correctamente, podemos verificar la versión de Python como se muestra a continuación.
$ python3.7 -V Python 3.7.7
Instale Python 3.7 en ubuntu desde la fuente
En este método, aprenderemos cómo podemos instalar Python 3.7 en nuestra máquina Ubuntu 18.04 compilándolo desde el código fuente. Para seguir adelante, debemos asegurarnos de que se cumplan ciertos requisitos previos. Primero, necesitaremos asegurarnos de que las herramientas de compilación necesarias para compilar los códigos fuente estén instaladas en nuestra máquina.
Para hacerlo, primero necesitaremos actualizar el índice del repositorio local de apt de la siguiente manera:
$ sudo apt update
Como se ha actualizado el índice del repositorio local, ahora instalaremos las dependencias necesarias para compilar e instalar python3.7. Para hacerlo, necesitaremos ejecutar el siguiente comando:
$ sudo apt install -y build-essential wget zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev
Una vez que las dependencias estén todas instaladas y listas, descargaremos la última versión de Python 3.7 del sitio web oficial de Python usando el comando wget de la siguiente manera:
$ wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz --2020-03-17 16:19:44-- https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz Resolving www.python.org (www.python.org)... 151.101.8.223, 2a04:4e42:2::223 Connecting to www.python.org (www.python.org)|151.101.8.223|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 23161893 (22M) [application/octet-stream] Saving to: ‘Python-3.7.7.tgz’ Python-3.7.7.tgz 100%[===================>] 22.09M 2.50MB/s in 9.2s 2020-03-17 16:19:54 (2.41 MB/s) - ‘Python-3.7.7.tgz’ saved [23161893/23161893]
Durante el tiempo de redacción de este tutorial, python 3.7 se lanzó con la última versión 3.7.7. Entonces, simplemente descargaremos y extraeremos el archivo tgz usando el comando tar.
$ tar -xf Python-3.7.7.tgz
Después de que se extraigan los códigos fuente del archivo tgz, ahora ingresaremos en el directorio y luego ejecutaremos el script de configuración para evaluar si las dependencias requeridas para la compilación se cumplen o no. El indicador –enable-optimizations optimiza el binario de Python y aumenta la ejecución del código en un 10-20%.
$ cd Python-3.7.7
$ ./configure --enable-optimizations checking if the dirent structure of a d_type field... yes checking for the Linux getrandom() syscall... yes checking for the getrandom() function... yes checking for pkg-config... no checking for openssl/ssl.h in /usr/local/ssl... no checking for openssl/ssl.h in /usr/lib/ssl... no checking for openssl/ssl.h in /usr/ssl... no checking for openssl/ssl.h in /usr/pkg... no checking for openssl/ssl.h in /usr/local... no checking for openssl/ssl.h in /usr... yes checking whether compiling and linking against OpenSSL works... yes checking for X509_VERIFY_PARAM_set1_host in libssl... yes checking for --with-ssl-default-suites... python configure: creating ./config.status config.status: creating Makefile.pre config.status: creating Misc/python.pc config.status: creating Misc/python-config.sh config.status: creating Modules/ld_so_aix config.status: creating pyconfig.h creating Modules/Setup creating Modules/Setup.local creating Makefile
Una vez que el script de configuración se ejecute correctamente, ahora instalaremos Python 3.7 en nuestra máquina Ubuntu 18.04 LTS ejecutando el comando make con el argumento altinstall. El argumento altinstall asegura que no está instalado como la versión predeterminada de Python del sistema.
$ sudo make altinstall changing mode of /usr/local/bin/idle3.7 to 755 changing mode of /usr/local/bin/pyvenv-3.7 to 755 changing mode of /usr/local/bin/pydoc3.7 to 755 changing mode of /usr/local/bin/2to3-3.7 to 755 rm /usr/local/lib/python3.7/lib-dynload/_sysconfigdata_m_linux_x86_64-linux-gnu.py rm -r /usr/local/lib/python3.7/lib-dynload/__pycache__ Creating directory /usr/local/share/man/man1 /usr/bin/install -c -m 644 ./Misc/python.man /usr/local/share/man/man1/python3.7.1 if test "xupgrade" != "xno" ; then case upgrade in upgrade) ensurepip="--altinstall --upgrade" ;; install|*) ensurepip="--altinstall" ;; esac; ./python -E -m ensurepip $ensurepip --root=/ ; fi Looking in links: /tmp/tmp06ih2lq9 Collecting setuptools Collecting pip Installing collected packages: setuptools, pip Successfully installed pip-19.2.3 setuptools-41.2.0
Ahora, podemos verificar si Python 3.7 se instaló correctamente verificando su versión de la siguiente manera.
$ python3.7 -V Python 3.7.7
Conclusión
Finalmente, hemos instalado Python 3.7 con éxito en nuestra máquina Ubuntu 18.04 LTS. En el momento de escribir este tutorial, la última versión de Python 3.7 era 3.7.7, por lo que es posible que desee reemplazar la versión 3.7.7 con la última versión del lanzamiento. Ahora, podemos ejecutar fácilmente scripts y códigos de Python que fueron escritos para 3.7. Si tiene preguntas, sugerencias o comentarios, escríbalos en el cuadro de comentarios a continuación.