Quiero instalar el último tarball de Python en Ubuntu, descargado de http://python.org/download/ .
¿Es esta una forma correcta de instalar?
./configure
make
make install
Si no, ¿cómo hago eso?
software-installation
python
Mahoma
fuente
fuente
sudo apt-get install python-2.7 python-pip
sudo apt-get install python2.7
. Esto no solo es más fácil, es la única respuesta correcta, ya que es la única forma en que podrá manejar la instalación de módulos de Python a través de apt-get y sus dependencias a su vez.Respuestas:
Primero, instale algunas dependencias:
Luego descargue usando el siguiente comando:
Extrae y ve al directorio:
Ahora, instale usando el comando que acaba de probar, en su
checkinstall
lugar, para facilitar la desinstalación si es necesario:Cambie
version
a la versión que necesite (version=2.7.1
oversion=3.6.0
, por ejemplo).fuente
sudo make install
y noaltinstall
configurarlo como versión predeterminada de PythonCXX=g++ ./configure
si ./configure emite una advertencia diciendo que no se encontró g ++sudo apt-get install python
, la respuesta más complicada es "cómo instalar la última Python", lo que implica "desde la fuente". Tendrá el mismo problema en cualquier sistema operativo a menos que esté instalando archivos binarios precompilados de un tercero, lo que, de nuevo, es arriesgado en cualquier sistema operativo (y varía mucho según el sistema operativo). También esta respuesta es de 2012; para obtener consejos más recientes, consulte askubuntu.com/questions/101591/…A menos que realmente tenga un deseo ardiente de compilarlo usted mismo, la forma preferida es utilizar el PPA DeadSnakes para instalar versiones de Python que no están incluidas de manera predeterminada:
Otras versiones, como
python2.4
opython3.6
, etc. también están disponibles.fuente
really have a burning desire to compile it yourself
ppa
no está respaldado oficialmente, por lo que la forma más segura es construir desde la fuente. 2. Esto resultará en un pitón global, que los que nosudo
pueden modificar o instalar paquetes, no uno local. 3. Se pueden instalar varias pitones localmente en diferentes ubicaciones construyendo desde la fuente.apt-get install python2.7
Esto instala el binario python2.7 en lugar de python ... ¡feo!Continuando documentando esto para las últimas versiones 1 de Ubuntu: para el servidor Ubuntu 16.04.1, el Python predeterminado es la versión 3.5, y Python 2.7 no está instalado por defecto. En una instalación nueva (tenga en cuenta que ni siquiera hay un
python
ejecutable):Nota: antes de continuar, es probable que desee hacer un rápido
sudo apt-get update
,sudo apt-get upgrade
ysudo apt-get dist-upgrade
(tenga en cuenta exactamente lo que están haciendo estos comandos; estoy asumiendo una instalación nueva aquí).Instalar python 2.7 es tan fácil como:
El resultado inicial de instalar Python 2.7 es el siguiente:
Después de instalar Python 2.7,
Pero todavía hay un problema, ya que aún no puede instalar módulos PyPI a través de
pip
, por ejemplo, si desea un jupyter notebook, o el último scipy o numpy (etc.), querrá instalarlospip
y luegopip install
esos, y aún recurrir aapt-get
para instalar las dependencias del sistema necesarias , como graphviz o las bibliotecas del sistema central.Entonces, para instalar pip, nuevamente, es tan fácil como
sudo apt-get install python-pip
:Necesitará tanto
python-pip
para Python 2.7pip
comopython3-pip
para Python 3pip
. La instalación a través deapt-get
está segura de instalar las dependencias necesarias; Por ejemplo, aquí está la salida para instalar pip2:Como resultado de esto, sucede algo interesante: ahora tiene el "estándar" (y se recomienda PEP)
python2
ypython3
(que son solo enlaces simbólicos a python 2.7 y python 3.5):También querrás
sudo apt-get install python3-pip
; Antes de instalar, tiene:Después de la instalación
pip3
,Las versiones resultantes:
Y una última cosa antes de que pueda comenzar a instalar todos sus módulos PyPI Python favoritos: probablemente tendrá que actualizar pip en sí (tanto pip2 como pip3, por separado; además, no importa si
pip
se invoca a través de lospython
ejecutables o elpip
ejecutables, las actualizaciones reales se almacenan en/usr/lib
):Ahora puede ejecutar
pip
la versión independiente o la versión incluida enpython
(viapython -m pip {command}
).[1] Resumen histórico: Ubuntu anterior solo tenía Python 2.6, por lo tanto, todos los diversos métodos para instalar Python 2.7+. Más tarde, después de agregar Python 2.7 a los repositorios públicos, todavía teníamos el mismo desafío para instalar el Python 2.7 más nuevo con las últimas correcciones, que era (demasiado) frecuentemente necesario. La situación actual es mucho mejor / más simple: las Python 2.7 y 3.5 actuales (básicamente las dos únicas versiones de la plataforma Python que le interesan a las personas) que ahora están en repositorios públicos son muy estables, por lo que ahora solo tenemos que preocuparnos por instalar la última versión módulos de Python , no el último Python . Así que ahora el "problema de la última versión" de Python se ha movido parcialmente fuera de los repositorios del sistema operativo
apt
y hacia PyPI &pip
).fuente
$PATH
. El env varPATH
es una larga lista de directorios con literalmente miles de archivos. Para acelerar la búsqueda del ejecutable, el shell utiliza una tabla hash en caché para una búsqueda rápida. Podría volverse obsoleto, por lo que "hash" le permite saber que está "recordado" este comando asignado a ese archivo ejecutable unix.stackexchange.com/questions/5609/…pip
(2.7) ypip3
(3.x) fueron completamente instalado / actualizado, y no sólo el ex - es decir,sudo apt-get install python-pip python3-pip
ysudo -H python2 -m pip install --upgrade pip
, ysudo -H python3 -m pip install --upgrade pip
... O si realmente es un problema de permisos (indicado por "funciona con sudo "), entonces será un poco más difícil de localizar.12.04
Si está siguiendo la respuesta de Achu , entonces el término
libread5-dev
debe cambiarse alibreadline-gplv2-dev
. Entonces el comando completo sería:fuente
También puede descargarlo e instalarlo a través de pyenv
fuente
pyenv-virtualenv
complemento, lo que facilita la instalación de aplicaciones con diferentes requisitos de módulo sin conflictos.bash --login
), que no es siempre fácil de lograr, por ejemplo, de Ansible. Mejor para uso interactivo, menos bueno para servidores de secuencias de comandos.Principalmente un espejo de esta respuesta con una introducción ajustada
Yo recomendaría pyenv . Automatiza el proceso de compilación además de instalar las dependencias de encabezado (ver más abajo). 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.A diferencia de algunas de las opciones basadas en apt-repo (por ejemplo, deadsnakes), generalmente funcionará el mismo día de un lanzamiento después de un
pyenv update
porque no es necesario esperar a que alguien más lo empaquete. Vea todas las versiones que puede instalar conpyenv install --list
Instalar pyenv
Instale las herramientas y los encabezados necesarios para construir CPythons (las pitones exóticas 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:
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)
Agregue líneas de inicio a su
~/.profile
o~/.bashrc
(lo menciona al final del script de instalación):Reinicie su shell (cerrar y abrir o
exec $SHELL
) o vuelva a cargar el script de perfil. (con psource ~/.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 opip
instala!Instale su versión preferida de Python (esto descargará la fuente y la compilará para su usuario, no se requiere entrada)
Conviértalo en un virtualenv para que pueda hacer otros más tarde si lo desea
Hazlo globalmente activo (para tu usuario)
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_proj
colocará un.python-version
archivo 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'
$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'
pyenv commands
.fuente