¿Cómo instalo Python 3.6 usando apt-get?

363

Lo intenté de la manera normal sudo apt-get install python3.6, pero ... bueno ... eso no funcionó.

Entonces, ¿cómo lo haría? (Preferiblemente no lo construiría solo)

Estoy usando Ubuntu 16.04.

Olian04
fuente
55
Quizás Python 3.6 no esté disponible para su distribución. Si lo ha instalado aptitude, ejecuteaptitude search python3
ridgy

Respuestas:

525

Ubuntu 14.04 (Trusty), 16.04 (Xenial)

Si está usando Ubuntu 14.04 o 16.04, puede usar el PPA de Deadsnakes de Felix Krull en https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa :

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6

Alternativamente, puede usar el PPA de J Fernyhough en https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6 :

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6

Ubuntu 16.10, 17.04

Si está utilizando Ubuntu 16.10 o 17.04, Python 3.6 está en el repositorio del universo, por lo que puede ejecutar:

sudo apt-get update
sudo apt-get install python3.6

Después de la instalación para Ubuntu 14.04, 16.04, 16.10 y 17.04

Para invocar al intérprete Python 3.6, ejecute python3.6.

Ubuntu 17.10 y 18.04 (Bionic)

Ubuntu 17.10 y 18.04 ya vienen con Python 3.6 por defecto. Solo corre python3para invocarlo.

edwinksl
fuente
55
Tenga en cuenta que python3.6 en Ubuntu 16.10 es una versión beta que tiene algunos problemas (como una pérdida de memoria muy dolorosa dictque aparece en algunas circunstancias raras).
Marius Gedminas
102
PRECAUCIÓN : bajo ninguna circunstancia sienta la tentación de corrersudo apt remove python3.5ni nada parecido; Python está más integrado en Ubuntu de lo que piensas, y podrías romper tu instalación de Ubuntu. Si quierespython3mapearpython3.6, ¡crea un enlace simbólico!
Huw Walters
19
Veo que no hay python3.6-pippaquete, por lo que solía curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6instalar pip.
Acumenus
55
De alguna manera, Python ppa:jonathonf/python-3.6llegó con pip roto y sin instalación fácil en 14.04. Sin embargo, he conseguido solucionar el problema instalando easy_install y volver a instalar a través de pepita curl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pipSólo en caso de que alguien se encuentra con el mismo problema ...
FirefoxMetzger
66
Al igual que otros comentaristas anteriores, también tuve problemas pippara instalar ppa:jonathonf/python-3.6. Por otro lado, ppa:deadsnakes/ppafuncionó a la perfección ( apt-get install python3.6 python3.6-venv -y).
Michael Herrmann
133

Recomendaría pyenv para resolver tus problemas. No utiliza Aptitud, y no implican "construcción de uno mismo", pero está totalmente automatizado . Puede compilar e instalar una versión nueva (o antigua) de Python simplemente diciendo pyenv install 3.6.0. Todo funciona como su usuario, por lo que no tiene que preocuparse por estropear el Python utilizado por Ubuntu.

Además, la respuesta a la pregunta de seguimiento "¿Cómo instalo Python 3.7 usando apt-get?" tiene la misma respuesta: pyenv update; pyenv install 3.7.0. En general, funcionará el mismo día de un lanzamiento porque no necesita esperar a que alguien más lo empaquete para Ubuntu. Vea todas las versiones que puede instalar conpyenv install --list

Instalar pyenv

  1. Instale las herramientas y los encabezados necesarios para construir CPythons (Pythons exóticos como PyPy o Jython pueden tener otras dependencias). Pyenv usa Git, además de que también permite compilaciones / instalaciones de ramas de origen, por lo que puede instalar lo que sea 3.8 en este momento, es decir, la rama maestra de CPython recién salido de GitHub:

    sudo apt-get install -y git
    sudo apt-get install -y build-essential libbz2-dev libssl-dev libreadline-dev \
                            libffi-dev libsqlite3-dev tk-dev
    
    # optional scientific package headers (for Numpy, Matplotlib, SciPy, etc.)
    sudo apt-get install -y libpng-dev libfreetype6-dev    
  2. Ejecute el script de instalación (instala pyenv y algunos complementos pyenv muy útiles del autor original; consulte aquí para obtener más información)

    curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
  3. Agregue líneas de inicio a su ~/.profileo ~/.bashrc(lo menciona al final del script de instalación):

    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
  4. Reinicie su shell (cerrar y abrir o exec $SHELL) o vuelva a cargar el script de perfil. (con p source ~/.bashrc. ej. )

¡Hecho!

Establecer un ambiente

Para no tocar el sistema Python (generalmente es una mala idea; los servicios a nivel del sistema operativo pueden depender de algunas versiones específicas de la biblioteca, etc.) hacen su propio entorno, ¡es fácil! Aún mejor, no sudo, para ello o pipinstala!

  1. Instale su versión preferida de Python (esto descargará la fuente y la compilará para su usuario, no se requiere entrada)

    pyenv install 3.6.0
  2. Conviértalo en un virtualenv para que pueda hacer otros más tarde si lo desea

    pyenv virtualenv 3.6.0 general
  3. Hazlo globalmente activo (para tu usuario)

    pyenv global general
  4. Haz lo que quieras con Python / pip, etc. Es tuyo.

Si desea limpiar sus bibliotecas más tarde, puede eliminar virtualenv ( pyenv uninstall general) o crear una nueva ( pyenv virtualenv 3.6.0 other_proj). También puede tener entornos activos por directorio: pyenv local other_projcolocará un .python-versionarchivo en su carpeta actual y cada vez que invoque Python o las utilidades de Python instaladas por pip desde él o debajo de él, pyenv los calzará.

Solución de problemas

  • bash: pyenv: command not found, fish: Unknown command 'pyenv'

    1. Verifique su $PATH, debe haber una entrada que termine en algo así .pyenv/bin. Si falta, asegúrese de seguir # 3 Y # 4 (reinicie su shell) en Instalar pyenv arriba.
  • pyenv: no such command 'virtualenv'

    1. Si no usó el script de instalación, es probable que solo haya instalado el paquete raíz pyenv. Consulte pyenv-virtualenv para obtener instrucciones sobre cómo agregar el complemento.
    2. Si usó el script de instalación, verifique si aparece con pyenv commands.
Nick T
fuente
1
Hay una advertencia, cuando se usa pyenv con Python 2.x (o versiones 3.x muy antiguas antes de que ocurriera la nueva representación interna de la cadena Unicode): pyenv usa las banderas de compilación aguas arriba predeterminadas y construye con cadenas Unicode de 16 bits. Las distribuciones de Linux generalmente se compilan con cadenas Unicode de 32 bits. Esto causa dolor cuando pip instala algunas cosas en pitones pyenv y no pyenv, debido al almacenamiento en caché de la rueda pip.
Marius Gedminas
@marius ¿por qué usarías una versión que no sea pyenv después de instalarla?
Nick T
3
No lo sé, pero descubrí este problema ayudando a alguien en IRC a depurar un problema en el que un paquete de Python en particular (lxml?) No funcionó debido a esto. Entonces sucede en la práctica, para algunas personas, y vale la pena saberlo. (La solución es rm -r ~/.cache/pip/wheels/.)
Marius Gedminas
1
¿ pyenvDebe instalarse para cada usuario que necesita Python? Y si tengo 3 usuarios que necesitan la misma versión de Python 3.6, ¿tendrá que compilarlo 3 veces y tomará 3 veces más espacio en disco? Si eso es cierto, entonces apesta ...: /
Sarge Borsch
1
@SargeBorsch de forma predeterminada (si usa pyenv-installer) es una instalación de usuario, pero no hay nada que le impida instalarlo /opto lo que sea y agregar algunos enlaces simbólicos /bin. Considero que ser solo de usuario es extremadamente útil; los usuarios no necesitan sudo (que no sea libs). El espacio en disco es barato.
Nick T
14

Depende de la versión de Ubuntu que esté utilizando.

Ubuntu 16.10 y Ubuntu 17.04

Dado que Python 3.6 está instalado en el repositorio universal de Ubuntu 16.10 y Ubuntu 17.04, puede instalar directamente python 3.6 desde el repositorio. Solo usa los comandos a continuación:

sudo apt update
sudo apt install python3.6

Ubuntu 16.04

Hay dos formas de instalar Python3.6 en Ubuntu 16.04

  • Compila e instala Python 3.6 en Ubuntu 16.04
  • Instale python 3.6 en Ubuntu 16.04 desde PPA

1. Compile e instale Python 3.6 en Ubuntu 16.04

Instale las dependencias necesarias, descargue el código fuente de Python 3.6 y cree el entorno e instale

sudo apt install build-essential checkinstall
sudo apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
tar xvf Python-3.6.0.tar.xz
cd Python-3.6.0/
./configure
sudo make altinstall

2. Instale python 3.6 en Ubuntu 16.04 desde PPA

Puede instalar Python 3.6 desde PPA usando los siguientes comandos

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt update
sudo apt install python3.6

Si Python 3.6 está instalado correctamente, puede invocar el intérprete de Python ejecutándose python3.6en el terminal.

Espero que esto ayude. Si tiene algún problema, puede consultar esta publicación de blog aquí .

Aryal Bibek
fuente
2
Esto es esencialmente una copia de la respuesta aceptada. ¿Dónde está el valor agregado de su respuesta?
Marc Vanhoomissen
2
El primer paso en Ubuntu 16.04 es para aquellos que desean compilar e instalar Python 3.6 por alguna razón. El proceso de compilación e instalación de Python 3.6 en Ubuntu 16.04 no está disponible en la respuesta aceptada ni en ninguna respuesta del hilo. Los otros puntos son aclarar la versión de Ubuntu y cómo difiere de otras respuestas aceptadas.
Aryal Bibek
1
Las instalaciones de PPA en 16.04 (Mint) aparecen rotas. La instalación desde la fuente de información es útil.
erizo demente
13

Una ruta alternativa si no puede encontrar repositorios de trabajo sería intentar compilar usted mismo desde la fuente. Puede encontrar el código fuente en la página de descarga . Luego descargue y descomprima el tarball; por ejemplo para Python-3.6.1.tgz.

El proceso para descomprimir el archivo tgz es:

tar -xvzf /path/to/yourfile.tgz

Una vez que esté en la ruta del archivo en el que se descomprimió, ejecute:

./configure
make
make altinstall

Y con suerte esto debería resolver el problema por ti.

Justo a tiempo berlake
fuente
44
La pregunta dice (id preferably not build it on my own). Tal vez sería mejor ir por la aptruta si es posible.
TheWanderer
Ok, echaré un vistazo para ver si puedo encontrar repositorios alternativos para usted. ¿Ya tuvo la oportunidad de buscar repositorios alternativos en Google? No quiero sugerir cosas que ya has probado.
Justo a tiempo Berlake
No soy el OP. Solo haciendo una sugerencia. No pude encontrar ningún PPA para 3.6, por lo que la construcción podría ser la ruta necesaria. Sin embargo, probablemente deberías abordar eso en tu respuesta.
TheWanderer
Sus comandos make fallarán en un sistema en el que el usuario nunca ha construido nada, ya que se requieren muchos paquetes. "sudo apt install build-essential libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev"
Joe
4

Para Ubuntu 15.10 lo instalé con éxito usando este método:

sudo add-apt-repository ppa:jonathonf/python-3.6

Pero edité este archivo:

sudo vi /etc/apt/sources.list.d/jonathonf-ubuntu-python-3_6-wily.list

Y cambié astutamente a confiable y luego:

sudo apt-get update
sudo apt-get install python3.6
Hassan Ketabi
fuente
12
Ubuntu 15.10? Se ha ido EOL hace meses. Hora de actualizar.
edwinksl
0

Primero, siga algunas de las otras respuestas para instalar Python 3.6 o 3.7. A continuación, si desea instalar paquetes PyPI como OpenEXR través pippuede obtener algunos errores. Algunos de ellos (por ejemplo, para el paquete PyPi de OpenEXR) pueden resolverse instalando el paquete de desarrollo Python para su Python recién instalado. Esto se puede hacer usando lo siguiente:

sudo apt-get install python3.6-dev

o

sudo apt-get install python3.7-dev

Amir
fuente
0

Quizás sugerir a Conda no es una mala idea. Creo que es al menos más fácil que usar pyenv. Pero tal vez depende de lo que pretendes hacer con Python después de todo, porque creo que con Conda puedes terminar con algunos paquetes adicionales.

EDITAR : Probablemente vale la pena mencionar que después de instalar la versión predeterminada de Python de Conda, puede instalar la versión que necesita, aquí 3.6, usando condalike

conda install python==3.6
arsaKasra
fuente