Проблемы с обновлением до Python 3.3 и настройкой Django

Я новичок в Linux и пытаюсь настроить Python / Django на моей машине! Я установил Python 3.3 из исходного файла, и он был скомпилирован в /usr/local/bin. Затем я создал символическую связь между /usr/bin/python и /usr/local/bin/python3, так что всякий раз, когда я вызываю python из командной строки, он использует последнюю версию.

Сейчас я пытаюсь установить MySQL Python и получаю следующий вывод:

apt-get install python-mysqldb

Reading package lists... Done
Building dependency tree
Reading state information... Done
python-mysqldb is already the newest version.
The following extra packages will be installed:
  apt-listchanges python-apt
Suggested packages:
  python-glade2 python-gtk2 python-apt-dbg python-vte python-apt-doc
The following packages will be upgraded:
  apt-listchanges python-apt
2 upgraded, 0 newly installed, 0 to remove and 142 not upgraded.
3 not fully installed or removed.
Need to get 0 B/394 kB of archives.
After this operation, 250 kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Traceback (most recent call last):
  File "/usr/bin/apt-listchanges", line 28, in <module>
    import apt_pkg
ImportError: No module named 'apt_pkg'

Есть идеи, как это исправить? Или какие-нибудь советы о том, как очистить эту установку (если она слишком сломана)?

5
задан 7 December 2012 в 23:26

2 ответа

Если вы «замените» установку Python по умолчанию, вы, вероятно, сломаете систему. Есть много системных инструментов, которые используют python2.X и потерпят неудачу при использовании python3. В вашем случае python3 не имеет модуля apt_pkg, поэтому вы получаете эту ошибку.

Чтобы решить эту проблему, просто удалите созданную символическую ссылку и свяжите ее с python2.X по умолчанию (в 12.10 это python2.7):

sudo rm /usr/bin/python
sudo ln -s /usr/bin/python2.7 /usr/bin/python

Если вы хотите сделать python3 интерпретатором «по умолчанию» Я думаю, что лучший способ, ничего не нарушая, это использовать virtualenv (подробнее здесь ):

virtualenv -p /usr/bin/python3.3 <destination dir>
0
ответ дан 7 December 2012 в 23:26

Не используйте символическую ссылку /usr/bin/python на python3. Это сломает большую часть Ubuntu. Только вещи, которые на самом деле перенесены в Python 3.x, смогут работать под python3.

0
ответ дан 7 December 2012 в 23:26

Другие вопросы по тегам:

Похожие вопросы: