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.


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

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.


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.


0

Para aquellos que encuentran este problema, primero intente ejecutar

sudo apt-get update

e intente instalar de nuevo


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.