У меня возникли проблемы с установкой python-dev
. Все началось, когда я попытался установить другой пакет Python и получил ошибку:
SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev.
Я попробовал sudo apt-get install python-dev
, но получил ошибку:
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.
Итак, я попробовал sudo apt-get install python2.7-dev
и получил ошибку:
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
Я попробовал почти все, что написано в посте.неудовлетворенные зависимости. Я использую Ubuntu 12.04 и у меня все обновлено. Я сделал apt-get clean
и apt-get autoclean
. Я попробовал apt-get -f install
и все вариации на эту тему. Я очистил свой PPA. Я даже пробовал использовать Aptitude, и хотя он сделал много очистки, результат был тот же.
Я действительно хочу иметь возможность установить python-dev. Как это сделать? На данный момент я готов рассмотреть экстремальные варианты, какими бы они ни были.
решение1
Этот кусочек:
python2.7-dev : Depends: python2.7 (= 2.7.3-0ubuntu3) but 2.7.3-0ubuntu3.1 is to be installed
предполагает, что вы используете некоторые несоответствующие репозитории или используете некоторые apt-pins, которые не позволяют выстраивать зависимости версий. Я думаю, в частности, python-2.7 2.7.3-0ubuntu3.1
находится в Precise-proposed
репозитории, а 2.7.3-0ubuntu3
версия находится в Precise/main, поэтому вы можете предпочесть -proposed для некоторых, но не для всех пакетов.
Можете ли вы отредактировать свой вопрос, включив в него вывод:
apt-cache policy python2.7-dev
apt-cache policy python2.7
и возможно:
apt-cache show python2.7
...
Читая вывод apt-cache из вашего pastebin, похоже, что у вас установлен python2.7 2.7.3-0ubuntu3.1
из precise-updates/main
, но python2.7-dev
это из precise/main
. Я думаю, что ваш установочный носитель или более раннее "apt-get update" включали precise-updates
репозиторий, но его нет в вашем текущем sources.list.
Я думаю, что вы сможете запустить установку после добавления precise-updates
и затем 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
решение2
Не следует устанавливать numpy с помощью pip, используйте пакет, предоставляемый Ubuntu:
dennis@koekblik:~$ apt-cache show python-numpy
Package: python-numpy
Priority: optional
Section: python
Installed-Size: 7616
...
Что касается вашей реальной проблемы: попробуйте установить python2.7-dev
. Скорее всего, это не удастся, но должно дать вам более понятное сообщение об ошибке.
решение3
самое быстрое решение:
- Установите (
sudo apt-get install synaptic
) Synaptic Package Manager и запустите его - Нажмите наНастройки-Репозитории
- ВыбиратьСкачать с: Основной сервер
- Нажмите Close, затем нажмите Reload.
- Отметьте
python-dev
для установки, и Synaptic также отметит все зависимостиpython-dev
(libexpat1-dev, libssl-dev, libssl-doc, python2.7-dev, zlib1g-dev
).
Я только что решил ту же проблему на свежеустановленной Ubuntu x86 12.04.3.
решение4
Для тех, кто столкнулся с этой проблемой, сначала попробуйте запустить
sudo apt-get update
и попробуйте установить еще раз