¿Cómo instalar la última versión de Python en Debian por separado o actualizar?

35

Todavía soy nuevo en Linux, así que todavía estoy tratando de entender dónde están los ejecutables y sus bibliotecas y cómo instalar paquetes, así que tengo Debian Wheezy 7.3 que tiene estas versiones de Python:

  • Python 2.7.3 (predeterminado)
  • Python 2.6.8

Entonces, en el directorio /usr/bin/hay estos archivos que puedo llamar desde la terminal:

  • python (que es un enlace a python2.7)
  • python2 (también un enlace a python2.7)
  • python2.6 (Python 2.6.8 ejecutable)
  • python2.7 (Python 2.7.3 ejecutable)

y en /usr/lib/las carpetas principales:

  • python2.6
  • python2.7

Actualmente, la última versión de Python es 2.7.6 que quiero instalar, pero no sé cómo, intenté usar apt-get:

apt-get install python

Salidas python is already the newest version..

Entonces, ¿cómo puedo instalar la última versión de Python? en la página de descarga de Python existe el paquete fuente, ¿cómo puedo usar eso para instalarlo por separado como tener otra carpeta en /usr/lib/como python2.7.6y hacer el pythonenlace en /usr/bin/el punto al nuevo ejecutable, o quizás actualizar la versión actual si no se romperá nada .

Pierre
fuente
Puede realizar una copia de seguridad de Python 2.7.6 de prueba / inestable y reemplazar su curent 2.7.3 con él. Lo más probable es que esto no le cause ningún problema. Si lo hace, puede volver fácilmente.
Faheem Mitha
Ni siquiera lo instalé, la nueva instalación de Debian y escribí "python" desde la línea de comandos y estoy en el shell python3.
frozenjim

Respuestas:

16

Es probable que busca virtualenvo pyenvo algún otro método no todo el sistema para instalar Python. El método que utiliza APT (Advance Package Tool) y dpkggarantiza que todas las partes del sistema funcionen en armonía, por lo que quizás desee instalar Python en una ruta separada, oculta de todos los otros programas que puede llamar a voluntad, que es El propósito de pyenv/ virtualenv. Esto responde cómo instalar la última versión de python sin romper el sistema .

Por cierto, puede consultar la última versión de python que Debian en madison , mientras que la última versión de python 2 en la fecha es la que señaló:

  ~  apt-cache policy python
python:
  Installed: 2.7.5-5
  Candidate: 2.7.5-5
  Version table:
 *** 2.7.5-5 0
        500 http://ftp.us.debian.org/debian/ testing/main i386 Packages
        100 /var/lib/dpkg/status

(Pythonbrew ya no se mantiene).

Braiam
fuente
ok instalé pip y virtualenv como root, entonces, ¿cómo puedo crear un entorno virtual con una nueva versión de Python? que yo sepa, necesitamos que la nueva versión se instale primero, ¿verdad?
Pierre
1
@Peter Creo que el primer paso es pyenv install 2.7.6. Puede verificar todas las versiones usandopyenv install -l
Braiam
27

Ok, después de muchas búsquedas, decidí construir Python desde la fuente, así que descargué el tarball comprimido de la página de descarga de Python , ahora necesitamos instalar el build-essentialpaquete para poder compilar los archivos fuente:

apt-get install build-essential

También necesitamos instalar estos paquetes de desarrollo que son necesarios para algunos módulos de Python:

libbz2-dev
libsqlite3-dev
libreadline-dev
zlib1g-dev
libncurses5-dev
libssl-dev
libgdbm-dev

A continuación extraemos el archivo fuente descargado:

tar zxf Python-2.7.6.tgz

luego entramos cden el directorio extraído:

cd Python-2.7.6

y siga las instrucciones en los documentos de Python :

./configure --prefix=/opt/python
make
make install # <- in the docs but don't execute: use checkinstall

Elegí instalarlo en el directorio /opt/pythonque creé antes, también utilicé el paquete checkinstall para crear un archivo .deb para poder desinstalarlo fácilmente más tarde, así que lo instalamos primero:

apt-get install checkinstall

y sustituya la última línea make installcon:

checkinstall

ahora tengo una nueva instalación de Python /opt/python/lib/python2.7y el archivo binario está en /opt/python/bin/python2.7.

ahora puedo ejecutar en la línea de comandos /opt/python/bin/python2.7para usar esta versión de Python, también podemos hacer un enlace a este ejecutable para que no escribamos la ruta completa, lo llamé python2.7.6.

ln -s /opt/python/bin/python2.7 /usr/local/bin/python2.7.6

también el directorio /opt/python/bincontendrá más tarde otros ejecutables como pipy / virtualenvo cualquier otro módulo que instale para que podamos agregarlo a la variable de entorno PATH, editar ~/.profiley agregar esta línea:

PATH="$PATH:/opt/python/bin"

y correr:

source ~/.profile

Me adjuntas, el camino hasta el final, ya que contiene nombres de los ejecutables como los de /usr/binigual python, python2y python2.7por lo que mantenemos la más alta prioridad para /usr/bin.

Pierre
fuente
Ahora, ¿sabrías cómo configurar tu nuevo python para ver los módulos que se instalaron a través de apt-get?
elsurudo
Desafortunadamente para Python 2.6, la compilación de la fuente no funciona correctamente en Debian 8 (Jessie) pero descubrí, al menos para una Raspberry Pi, que podía usar paquetes más antiguos de packages.debian.org . El orden, suponiendo que los elementos esenciales de compilación ya están en su lugar, es algo como libdb, python2.6-minimal, python2.6, libpython2.6, python2-6-dev, pero dpkg -ile dirá lo que se necesita.
Charlie Clark el
1
@elsurudo Eso no tendría sentido realmente, porque los módulos podrían no ser compatibles con su nueva versión. Si desea un control total sobre su Python (como lo hace al compilar desde la fuente), también querrá instalar módulos por separado.
tripleee
-1

puedes usar:

aptitude install python3.5  

o, si no ha instalado aptitude, puede instalarlo usando:

apt-get install aptitude
John
fuente