Problème d'installation de Python-Dev

16

J'ai du mal à installer python-dev. Tout a commencé lorsque j'ai essayé d'installer un autre package Python et que j'ai eu l'erreur:

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

J'ai essayé sudo apt-get install python-devmais j'ai eu l'erreur:

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.

Alors j'ai essayé sudo apt-get install python2.7-devet obtenu l'erreur:

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

J'ai essayé presque tout dans les dépendances non satisfaites . J'utilise Ubuntu 12.04 et j'ai tout mis à jour. J'ai fait apt-get cleanet apt-get autoclean. J'ai essayé apt-get -f installet toutes les variations sur ce thème. J'ai nettoyé mon PPA. J'ai même essayé d'utiliser Aptitude, et bien que cela ait fait beaucoup de nettoyage, le résultat était le même.

Je veux vraiment pouvoir installer python-dev. Comment puis-je y arriver? À ce stade, je suis prêt à envisager des options extrêmes, quelles qu'elles soient.

theJollySin
la source
Le problème n'est pas l'installation de python-dev. Le problème est d'obtenir src et d'inclure des dossiers propagés à votre virtualenv.
RobotHumans
Avez-vous des suggestions? J'utilisais --system-site-packages.
theJollySin
1
Lisez ceci: pythoncentral.org/… il explique comment cela fonctionne réellement.
RobotHumans
@CallmeV Ceci est un excellent article, mais malheureusement, il ne résout pas le problème que j'ai à installer Python-Dev.
theJollySin
1
@theJollySin - quelle version d'ubuntu utilisez-vous? Veuillez désactiver tous les PPA et exécuter sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade. Collez la sortie dans paste.ubuntu.com
fossfreedom

Réponses:

20

Ce bit:

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

suggère que vous utilisez des référentiels incompatibles, ou que vous avez des broches apt en place pour éviter que les dépendances de version ne s'alignent. Je pense que, spécifiquement, se python-2.7 2.7.3-0ubuntu3.1trouve dans le Precise-proposedréférentiel et la 2.7.3-0ubuntu3version est dans Precise / main propre, donc vous pouvez préférer -proposé pour certains mais pas pour tous les paquets.

Pouvez-vous modifier votre question pour inclure la sortie de:

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

et peut-être:

apt-cache show python2.7

...

La lecture de la sortie apt-cache de votre pastebin, il semble que vous avez la python2.7 2.7.3-0ubuntu3.1de precise-updates/main installé, mais python2.7-devest de precise/main. Je pense que votre support d'installation ou une précédente "mise à jour apt-get" incluait le precise-updatesréférentiel, mais il n'est pas dans votre sources.list actuelle.

Je pense que vous pourrez lancer l'installation après l'ajout precise-updates, puis 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
la source
1
J'ai collé la réponse apt-cache policy python2.7et similaire ici: paste.ubuntu.com/5775963
theJollySin
5

Vous ne devez pas installer numpy avec pip, utilisez le package fourni par Ubuntu:

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

Quant à votre problème réel: essayez d'installer python2.7-dev. Il échouera probablement mais devrait vous donner un meilleur message d'erreur.

Dennis Kaarsemaker
la source
D'accord, votre première déclaration: il existe d'autres packages (comme gdal) qui seraient beaucoup plus faciles si je pouvais installer via PIP. Votre deuxième point, je peux essayer cela et voir ce qui se passe. Merci.
theJollySin
1
Je suis d'accord que pip est un outil utile, mais veuillez vous en tenir autant que possible aux packages Ubuntu, beaucoup plus faciles à mettre à jour. Et si vous utilisez pip pour installer des packages, vous voudrez peut-être créer vous-même un virtualenv afin que vous n'ayez pas besoin d'installer en tant que root dans / usr / local.
Dennis Kaarsemaker
D'accord, je vais essayer de m'en tenir aux packages Ubuntu. Mais tout ce problème a commencé parce que je peux bien numpytravailler, mais je ne peux pas être numpyimporté dans un fichier virtualenv. Avoir un virtualenvsystème de travail pour le développement Python est certainement l'objectif. Merci encore.
theJollySin
1
C'est une question différente cependant :) Utilisez un virtualenv avec --system-site-packages pour avoir accès à ce qui est installé via apt.
Dennis Kaarsemaker
3

solution la plus rapide:

  • Installez ( sudo apt-get install synaptic) Synaptic Package Manager et démarrez-le
  • Cliquez sur Paramètres-Référentiels
  • Sélectionnez Télécharger depuis: Serveur principal
  • Cliquez Closepuis cliquez sur Reload.
  • Marquer python-devpour l'installation et Synaptic marquera également toutes les dépendances de python-dev( libexpat1-dev, libssl-dev, libssl-doc, python2.7-dev, zlib1g-dev).

Je viens de résoudre le même problème sur Ubuntu x86 12.04.3 fraîchement installé.

VVV
la source
0

Pour ceux qui rencontrent ce problème, essayez d'abord d'exécuter

sudo apt-get update

et essayez de réinstaller

Andrew Hammett
la source
Il n'est pas nécessaire de donner une telle introduction. Donnez simplement votre réponse. Selon mon expérience, il n'est pas toujours unmet dependencypossible de résoudre le problème en utilisantsudo apt-get update
Mostafa Ahangarha