Problemas ao atualizar para o Python 3.3 e configurar o Django

4

Sou novo no Linux e estou tentando configurar o Python / Django na minha máquina! Eu instalei o Python 3.3 do arquivo de origem e ele foi compilado em /usr/local/bin . Em seguida, criei um link simbólico entre /usr/bin/python e /usr/local/bin/python3 , para que sempre que invoco python da linha de comando, ele use a versão mais recente.

Agora estou tentando instalar o MySQL Python e recebo a seguinte saída:

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'

Alguma idéia de como corrigir isso? Ou alguma dica sobre como limpar esta instalação (se esta estiver muito quebrada)?

    
por user1881353 07.12.2012 / 20:26

2 respostas

3

Se você "substituir" a instalação padrão do python, você provavelmente quebrará o sistema. Existem muitas ferramentas de sistema que usam o python2.X e irão falhar ao usar o python3. No seu caso, o python3 não tem o módulo apt_pkg , então você obtém esse erro.

Para resolver isso basta remover o link simbólico criado e vinculá-lo ao python2.X padrão (em 12.10 é python2.7):

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

Se você quiser tornar o python3 o interpretador "padrão", eu acho que a melhor maneira sem quebrar nada é usar virtualenv (mais informações aqui ):

virtualenv -p /usr/bin/python3.3 <destination dir>
    
por Salem 07.12.2012 / 22:40
2

Não crie link simbólico de /usr/bin/python para python3. Vai quebrar uma grande parte do Ubuntu. Somente as coisas que são portadas para o Python 3.x poderão ser executadas sob o python3.

    
por dobey 07.12.2012 / 21:38