Problema al instalar Python-Dev

16

Estoy teniendo problemas para la instalación python-dev. Todo comenzó cuando intenté instalar otro paquete de Python y obtuve el error:

SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev.

Lo intenté sudo apt-get install python-devpero obtuve el error:

The following packages have unmet dependencies:
 python-dev : Depends: python2.7-dev (>= 2.7.3) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Entonces intenté sudo apt-get install python2.7-devy obtuve el error:

The following packages have unmet dependencies:
 python2.7-dev : Depends: python2.7 (= 2.7.3-0ubuntu3) but 2.7.3-0ubuntu3.1 is to be installed
                 Depends: libpython2.7 (= 2.7.3-0ubuntu3) but 2.7.3-0ubuntu3.1 is to be installed

He intentado casi todo en las dependencias post insatisfechas . Estoy ejecutando Ubuntu 12.04 y tengo todo actualizado. Lo he hecho apt-get cleany apt-get autoclean. Lo he intentado apt-get -f instally todas las variaciones sobre ese tema. He limpiado mi PPA. Incluso intenté usar Aptitude, y aunque hizo mucha limpieza, el resultado fue el mismo.

Realmente quiero poder instalar python-dev. ¿Cómo puedo hacer que esto suceda? En este punto, estoy dispuesto a considerar opciones extremas, cualesquiera que sean.

theJollySin
fuente
El problema no es instalar python-dev. El problema es obtener src e incluir carpetas propagadas a su virtualenv.
RobotHumans
¿Tienes alguna sugerencia allí? Yo estaba usando --system-site-packages.
theJollySin
1
Lea esto: pythoncentral.org/ ... explica cómo funciona realmente.
RobotHumans
@CallmeV Esta es una gran publicación, pero lamentablemente no aborda el problema que tengo para instalar Python-Dev.
theJollySin
1
@theJollySin: ¿qué versión de ubuntu estás usando? Deshabilite todos los PPA y ejecútelos sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade. Pegue la salida en paste.ubuntu.com
fossfreedom

Respuestas:

20

Este bit:

 python2.7-dev : Depends: python2.7 (= 2.7.3-0ubuntu3) but 2.7.3-0ubuntu3.1 is to be installed

sugiere que está utilizando algunos repositorios no coincidentes, o que tiene algunos pines aptos para evitar que las dependencias de la versión se alineen. Creo que, específicamente, python-2.7 2.7.3-0ubuntu3.1está en el Precise-proposedrepositorio y la 2.7.3-0ubuntu3versión está en Precise / main adecuada, por lo que puede preferir -propuesta para algunos pero no todos los paquetes.

¿Puedes editar tu pregunta para incluir la salida de:

apt-cache policy python2.7-dev
apt-cache policy python2.7

y tal vez:

apt-cache show python2.7

...

La lectura de la salida apt-cache de su Pastebin, parece que usted tiene la python2.7 2.7.3-0ubuntu3.1de precise-updates/main instalado, pero python2.7-deves de precise/main. Creo que su medio de instalación o una "actualización de apt-get" anterior incluía el precise-updatesrepositorio, pero no está en su fuente.list actual.

Creo que podrá iniciar la instalación después de agregar precise-updatesy luego apt-get update.

echo "deb http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted" | sudo tee -a /etc/apt/sources.list.d/precise-updates.list
sudo apt-get update
sudo apt-get install python2.7-dev
Steven K
fuente
1
Pegué la respuesta apt-cache policy python2.7y similares aquí: paste.ubuntu.com/5775963
theJollySin
5

No debe instalar numpy con pip, use el paquete que Ubuntu proporciona:

dennis@koekblik:~$ apt-cache show python-numpy
Package: python-numpy
Priority: optional
Section: python
Installed-Size: 7616
...

En cuanto a su problema real: intente instalar python2.7-dev. Probablemente fallará, pero debería darle un mejor mensaje de error.

Dennis Kaarsemaker
fuente
Bien, su primera declaración: hay otros paquetes (como gdal) que serían mucho más fáciles si pudiera instalarlos a través de PIP. Su segundo punto, puedo intentarlo y ver qué pasa. Gracias.
theJollySin
1
Estoy de acuerdo en que pip es una herramienta útil, pero por favor, quédese con los paquetes de Ubuntu tanto como sea posible, mucho más fácil de actualizar. Y si usa pip para instalar paquetes, es posible que desee crear un virtualenv para que no necesite instalarlo como root en / usr / local.
Dennis Kaarsemaker
Bien, intentaré mantenerme en los paquetes de Ubuntu. Pero todo este problema comenzó porque puedo numpytrabajar bien, pero no puedo numpyimportarme dentro de a virtualenv. Tener un virtualenvsistema de trabajo para el desarrollo de Python es definitivamente el objetivo. Gracias de nuevo.
theJollySin
1
Sin embargo, esa es una pregunta diferente :) Use un virtualenv con --system-site-packages para obtener acceso a lo que está instalado a través de apt.
Dennis Kaarsemaker
3

solución más rápida:

  • Instalar en pc (sudo apt-get install synaptic ) Synaptic Package Manager e inícielo
  • Haga clic en Configuración-Repositorios
  • Seleccione Descargar de: Servidor principal
  • Haga Closeclic y luego haga clic enReload .
  • Marcar python-devpara la instalación y Synaptic también marcará todas las dependencias de python-dev( libexpat1-dev, libssl-dev, libssl-doc, python2.7-dev, zlib1g-dev).

Acabo de resolver el mismo problema en Ubuntu x86 12.04.3 recién instalado.

VVV
fuente
0

Para aquellos que encuentran este problema, primero intente ejecutar

sudo apt-get update

e intente instalar de nuevo

Andrew Hammett
fuente
No es necesario dar tal introducción. Solo da tu respuesta. Según mi experiencia, no siempre unmet dependencyse puede resolver mediante el uso desudo apt-get update
Mostafa Ahangarha