I am having trouble installing python-dev. It all started when I tried to install another Python package and got the error:
SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev.I tried sudo apt-get install python-dev but got the 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.So then I tried sudo apt-get install python2.7-dev and got the 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 installedI have tried most everything in the post unmet dependencies. I am running Ubuntu 12.04 and I have everything updated. I have done apt-get clean and apt-get autoclean. I have tried apt-get -f install and all variations on that theme. I have cleaned up my PPA. I even tried using Aptitude, and though it did a lot of clean up, the result was the same.
I really want to be able to install python-dev. How can I make this happen? At this point, I am willing to consider extreme options, whatever they may be.
84 Answers
This bit:
python2.7-dev : Depends: python2.7 (= 2.7.3-0ubuntu3) but 2.7.3-0ubuntu3.1 is to be installedsuggests that you are using some mismatched repositories, or have some apt-pins in place keeping the version dependencies from lining up. I think, specifically, python-2.7 2.7.3-0ubuntu3.1 is in the Precise-proposed repository and the 2.7.3-0ubuntu3 version is in Precise/main proper, so you may be preferring -proposed for some but not all packages.
Can you edit your question to include the output of:
apt-cache policy python2.7-dev
apt-cache policy python2.7and maybe:
apt-cache show python2.7...
Reading the apt-cache output from your pastebin, it looks like you have the python2.7 2.7.3-0ubuntu3.1 from precise-updates/main installed, but python2.7-dev is from precise/main. I think your install media or an earlier "apt-get update" included the precise-updates repository, but it's not in your current sources.list.
I think you'll be able to get the install going after adding precise-updates and then apt-get update.
echo "deb 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 You shouldn't install numpy with pip, use the package Ubuntu provides:
dennis@koekblik:~$ apt-cache show python-numpy
Package: python-numpy
Priority: optional
Section: python
Installed-Size: 7616
...As to your actual problem: try installing python2.7-dev. It will likely fail but should give you a better error message.
fastest solution:
- Install (
sudo apt-get install synaptic) Synaptic Package Manager and start it - Click on Settings-Repositories
- Select Download from: Main Server
- Click Close then click on Reload.
- Mark
python-devfor installation and Synaptic will also mark all dependencies ofpython-dev(libexpat1-dev, libssl-dev, libssl-doc, python2.7-dev, zlib1g-dev).
I have just resolved the same problem on freshly installed Ubuntu x86 12.04.3.
For those that encounter this problem, first try and run
sudo apt-get updateand try to install again
1