python2 para instalar descargar python python-2.7 ubuntu

para - install python 2.7 ubuntu 17



ImportError: Ningún módulo llamado bz2 para Python 2.7.2 (9)

Estoy usando Python 2.7.2 en Ubuntu 11.10. Recibí este error al importar el módulo bz2:

ImportError: No module named bz2

Pensé que el módulo bz2 debería venir con Python 2.7. ¿Como puedo solucionar este problema?

EDITAR: Creo que anteriormente instalé Python 2.7.2 compilando desde el origen. Probablemente en ese momento no tenía libbz2-dev y, por lo tanto, el módulo bz2 no está instalado. Ahora, espero instalar Python2.7 a través

sudo apt-get install python2.7

Pero dirá que ya está instalado. ¿Hay alguna manera de desinstalar la instalación anterior de Python2.7 y reinstalarla?


Asegúrate de que bz2 esté instalado, ejecuta sudo yum install bzip2-devel .

  • Centos 6

    sudo cp /usr/lib64/python2.6/lib-dynload/bz2.so /python_install_path/lib/python2.7

  • Centos 7

    sudo cp /usr/lib64/python2.7/lib-dynload/bz2.so /python_install_path/lib/python2.7

python_install_path generalmente es /usr/local/lib/python2.7/ , necesita reemplazarlo si instala Python en otra ruta.


Bueno, esto es mucho más fácil de entender en forma de respuesta, así que moveré lo que escribiría en mi comentario a esta respuesta.

Afortunadamente para usted, no sobrescribió la versión del sistema de python, ya que Ubuntu 11.10 viene con 2.7.2 preinstalado.

Sus binarios de python ( python y python2.7 ) se encuentran en /usr/local/bin , que es un directorio donde normalmente se instalan cosas específicas del usuario. Esto está bien, significa que tu sistema python todavía está allí.

Primero, simplemente intente ejecutar el sistema python. Escriba esto desde la línea de comando:

/usr/bin/python -c "import bz2; print bz2.__doc__"

Esto debería imprimir algo como esto:

λ > /usr/bin/python -c "import bz2; print bz2.__doc__" The python bz2 module provides a comprehensive interface for the bz2 compression library. It implements a complete file interface, one shot (de)compression functions, and types for sequential (de)compression.

Si es así, significa que estás bien.

Entonces solo tienes que arreglar tu PATH , que le dice al shell dónde encontrar los comandos. /usr/local/bin va a tener prioridad sobre /usr/local , por lo que hay algunas formas de corregir esto, en orden de dificultad / molestia / alteración de su sistema:

Elimine el enlace simbólico de python de /usr/local/bin

Esto hará que cuando tipee python , debería volver a ejecutar /usr/bin/python , que es un alias para el sistema python 2.7.2.

sudo rm /usr/local/bin/python

Mueva /usr/bin para tener una mayor precedencia en la PATH

Puede que no sea deseable si ya tiene elementos en /usr/local/bin que deberían tener prioridad sobre /usr/bin , pero estoy agregando esto para que esté completo.

En su perfil de shell (no estoy seguro de cuál es el predeterminado de Ubuntu, pero estoy usando ~/.bash_profile , puede hacer esto:

export PATH=/usr/bin:$PATH

Elimina tu instalación de Python

Esto es extremo y la primera opción que presenté debería ser tu primera opción.

¿Realmente necesitas tu propia versión de Python? Si quieres entornos Python aislados, probablemente realmente quieras virtualenv . Probablemente puedas eliminar el tuyo a menos que haya una razón para no hacerlo.

Sin embargo, va a ser un poco molesto, pero básicamente:

  • Elimine los python2.7 python y python2.7 y pythonw y pythonw2.7 de /usr/local/bin .
  • Eliminar /usr/local/lib/python/2.7.2

Esta parte no está completa porque olvido qué más hay.


En el caso, debe usar python2.7, debe ejecutar: (Centos 6.4)

sudo cp /usr/lib64/python2.6/lib-dynload/bz2.so /usr/local/lib/python2.7/


La respuesta de matocnhoi funciona para mí en centOS

sudo cp /usr/lib64/python2.6/lib-dynload/bz2.so /usr/local/lib/python2.7/

y usé virtualenv, entonces el comando es

sudo cp /usr/lib64/python2.6/lib-dynload/bz2.so ../../../env/lib/python2.7/


Me encuentro con el mismo problema, esta es mi solución.

El motivo del error de importación es que mientras construye Python, el sistema no pudo encontrar los encabezados bz2 y el módulo bz2 de construcción omitido.

Instalarlos en Ubuntu / Debian:

sudo apt-get install libbz2-dev

Fedora:

sudo yum install bzip2-devel

y luego reconstruir python

viene de otra respuesta

La respuesta de @birryree ayuda a regresar al pitón original del sistema.


Para Ubuntu / Debian:

sudo apt-get install libbz2-dev

Para Fedora:

sudo yum install bzip2-devel

Y luego recompila el Python e instálalo.


Quizás ayude a alguien:

apt-get install libbz2-dev # for bz2 apt-get install libssl-dev # for _ssl apt-get install libsqlite3-dev # for sqlite apt-get install libreadline6-dev # for readline, _curses, _curses_panel


Si su bz2 en /usr/lib64/python2.7/lib-dynload/ se llama así: "bz2.x86_64-linux-gnu.so", recuerde cambiarle el nombre a bz2.so al copiarlo en su ruta o puede no ser de origen correcto:

cp /usr/lib64/python2.6/lib-dynload/bz2.x86_64-linux-gnu.so /python_install_path/lib/python2.7/bz2.so


Utilicé un enlace simbólico entre /usr/lib64/python2.6/lib-dynload/bz2.so /usr/local/lib/python2.7/lib-dynload/

Funcionó bien para mí ...