¿Cómo instalar Python 3.6?

Me gustaría instalar la última versión de Python, que es la 3.6 en el momento de escribir este post. Sin embargo, el repositorio está diciendo que Python 3.4.2 es la versión más reciente.

Lo he intentado:

lenguaje: lang-none -->

$ sudo apt-get update
$ sudo apt-get install python3

python3 is already the newest version.

$ python -V

Python 3.4.2

Para actualizar a Python 3.6 en mi estación de trabajo Windows, simplemente descargué un exe, hice clic en "siguiente" unas cuantas veces, y ya está. ¿Cuál es el procedimiento correcto y oficialmente aceptado para instalar Python 3.6 en Debian Jessie?

Puede instalar Python-3.6 en Debian 8 de la siguiente manera:

wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgz
tar xvf Python-3.6.9.tgz
cd Python-3.6.9
./configure --enable-optimizations --enable-shared
make -j8
sudo make altinstall
python3.6

Se recomienda utilizar make altinstall según el sitio web oficial.

Si quiere que se incluya pip, necesita añadir --with-ensurepip=install a su llamada a configure. Para más detalles vea ./configure --help.

Advertencia: make install puede sobrescribir o enmascarar el binario de python. Por lo tanto, se recomienda make altinstall en lugar de make install ya que sólo instala exec_prefix/bin/pythonversion.

Algunos paquetes necesitan ser instalados para evitar algunos problemas conocidos, ver: Problemas comunes de construcción(actualizado)

Ubuntu/Debian:

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev

Alternativa de libreadline-dev:

sudo apt install libedit-dev

Fedora/CentOS/RHEL(aws ec2):

sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel \
openssl-devel xz xz-devel libffi-devel

Alternativa de openssl-devel:

sudo yum install compat-openssl10-devel --allowerasing

Actualización

Puedes descargar la última versión de python-x.y.z.tar.gz desde aquí.

Para establecer una versión de python por defecto y cambiar fácilmente entre ellas, necesita actualizar su update-alternatives con la versión múltiple de python.

Digamos que ha instalado python3.7 en debian stretch, utilice el comando whereis python para localizar el binario (*/bin/python):

/usr/local/bin/python3.7
/usr/bin/python2.7
/usr/bin/python3.5

Añade las versiones de python:

update-alternatives --install /usr/bin/python python /usr/local/bin/python3.7 50
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 40
update-alternatives --install /usr/bin/python python /usr/bin/python3.5 30

El python3.7 con la prioridad 50 es ahora su python por defecto, el python -V imprimirá:

Python 3.7.0b2

Para cambiar entre ellos, utilice

update-alternatives --config python

Ejemplo de salida:

There are 3 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                      Priority   Status
------------------------------------------------------------
* 0            /usr/local/bin/python3.7   50        auto mode
  1            /usr/bin/python2.7         40        manual mode
  2            /usr/bin/python3.5         30        manual mode
  3            /usr/local/bin/python3.7   50        manual mode

Press  to keep the current choice[*], or type selection number: 
Comentarios (13)

Quizás quieras echar un vistazo a pyenv : https://github.com/yyuu/pyenv . Citando el tutorial de pyenv en Amaral Lab:

Anteriormente conocido como Pythonbrew, pyenv te permite cambiar la versión global de La versión de Python, instalar múltiples versiones de Python, establecer el directorio (proyecto) versiones específicas de Python, y sí crear/gestionar entornos virtuales entornos virtuales de Python ("virtualenvs"). Todo esto se hace en *NIX-estilo máquinas (Linux y OS X) sin depender de Python en sí mismo y que funciona a nivel de usuario-no hay necesidad de ningún comando sudo.

Comentarios (4)

Debian no tiene Python 3.6 en sus repositorios. Aquí'hay una instantánea del estado actual de Python3:

wheezy (oldstable) (python): interactive high-level object-oriented language (default python3 version)
    3.2.3-6: all
jessie (stable) (python): interactive high-level object-oriented language (default python3 version)
    3.4.2-2: amd64 arm64 armel armhf i386 mips mipsel powerpc ppc64el s390x
stretch (testing) (python): interactive high-level object-oriented language (default python3 version)
    3.5.1-4: amd64 arm64 armel armhf i386 mips mips64el mipsel ppc64el s390x
sid (unstable) (python): interactive high-level object-oriented language (default python3 version)
    3.5.1-4: alpha amd64 arm64 armel armhf hppa hurd-i386 i386 kfreebsd-amd64 kfreebsd-i386 m68k mips mips64el mipsel powerpc powerpcspe ppc64 ppc64el s390x sh4 sparc64 x32

Puedes comprobarlo aquí.

Puedes instalar 3.6 desde el código fuente, o usando algo como Linuxbrew para una instalación en el directorio de casa.

Comentarios (0)