Erro com modulo MySqldb durante instalação do Django

185 views
Skip to first unread message

Camilo Arthur

unread,
Sep 2, 2008, 10:22:10 PM9/2/08
to django...@googlegroups.com
Primeiramente gostaria de deixar claro que, apesar de ja programar em outras linguagens, sou iniciante no mundo python...
Estava seguindo o django tutorial ( http://www.djangoproject.com/documentation/tutorial01/ ) pra tentar instalar o Django no Mac OS X mas ocorreu um erro que transcrevo no final desse e-mail.

Pelo que percebi ele não encontrou o modulo MySqldb. Ele não deveria vir por padrão na instalação do python? Estou usando o python 2.5 nativo do Leopard 10.5.4.
Alguém pode me dar uma ajuda pra tentar descobrir onde estou errando?

Abaixo segue o erro:

Eve:meusite camilo$ python manage.py sql polls
Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_manager(settings)
  File "/Library/Python/2.5/site-packages/django/core/management.py", line 1672, in execute_manager
    execute_from_command_line(action_mapping, argv)
  File "/Library/Python/2.5/site-packages/django/core/management.py", line 1617, in execute_from_command_line
    from django.db import models
  File "/Library/Python/2.5/site-packages/django/db/__init__.py", line 11, in <module>
    backend = __import__('django.db.backends.%s.base' % settings.DATABASE_ENGINE, {}, {}, [''])
  File "/Library/Python/2.5/site-packages/django/db/backends/mysql/base.py", line 12, in <module>
    raise ImproperlyConfigured, "Error loading MySQLdb module: %s" % e
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

Abraços,

Camilo

Marinho Brandao

unread,
Sep 3, 2008, 7:33:05 AM9/3/08
to django...@googlegroups.com
Olá Camilo,

verifique por favor a versão do MySQLdb instalado na sua máquina. caso
seja inferior à 1.2.2-final, atualize, as versões mais recentes do
Django só suportam as versões mais recentes do MySQLdb

2008/9/2 Camilo Arthur <camilo...@gmail.com>:
--
Marinho Brandão (José Mário)
http://marinho.webdoisonline.com/

Renato Garcia Pedigoni

unread,
Sep 3, 2008, 8:42:37 AM9/3/08
to django...@googlegroups.com
olá camilo

vc deve instalar o mysql-python, este precisará de alguns arquivos da
instalação do mysql, que por sua vez necessita do xcode

qqr problema poste aí!
--
Atenciosamente,
Renato Garcia Pedigoni

Luiz T. Honda

unread,
Sep 3, 2008, 10:04:31 AM9/3/08
to django...@googlegroups.com
Oi Camilo,

O MySQLdb não vem instalado nas "pilhas" do Python.

Eu uso um Tiger e nele tenho o ports (http://www.macports.org/) instalado.

Após instalá-lo, você executa o seguinte comando:

sudo port install py-mysql

Não sei qual versão do Python vem no Leopard, mas no Tiger vem o 2.3.
Como eu queria usar o 2.5, instalei esta versão usando o ports e no
meu box fiz um link symbólico de /opt/local/bin/python2.5 para
/usr/bin/python2.5


Você também pode optar por instalar o pacote oficial do MySQLdb no site:

http://sourceforge.net/projects/mysql-python

Apenas preste atenção a qual versão de Python você está usando e se no
diretório site-packages tem o MySQLdb instalado.

O eu ports está instalado em /opt/local e o MySQLdb em
/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/MySQLdb/

[]s

Honda
2008/9/2 Camilo Arthur <camilo...@gmail.com>:
--
http://luizhonda.wordpress.com/

Fábio Morbec

unread,
Sep 3, 2008, 10:46:44 AM9/3/08
to django...@googlegroups.com
Camilo,

uma solução pode ser o Django Stack (http://bitnami.org/stack/djangostack) que já instala o Django, MySQL. Tem versão para Windows, Mac, Linux.

Mas a última versão do Django que eles utilizaram é do dia 21/04/2008 ...

[]s

2008/9/3 Luiz T. Honda <idz...@gmail.com>



--
Fábio M. O. Morbec
http://morbec.blogspot.com

Camilo Arthur

unread,
Sep 3, 2008, 11:52:53 PM9/3/08
to django...@googlegroups.com
Tentei instalar com o macports mas la pelas tantas deu um erro...
ok.. baixei o mysqldb e o compilei e instalei com sucesso.
ao tentar importar o modulo, o seguinte erro ocorreu:

>>> import MySQLdb

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "__init__.py", line 19, in <module>
   
  File "build/bdist.macosx-10.5-i386/egg/_mysql.py", line 7, in <module>
  File "build/bdist.macosx-10.5-i386/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dynamic module does not define init function (init_mysql)

Encontrei nesse site ( http://yousefourabi.com/apple/django-on-leopard) que o erro poderia ser porque a versão do mysql era de 64 bits e o python 32. Desinstalei o Mysql 64 bits e instalei a versão de 32 bits e mesmo assim não funcionou.

alguém tem alguma idéia do que posso fazer?

Abraços,

Camilo

flme...@gmail.com

unread,
Sep 3, 2008, 11:59:36 PM9/3/08
to Django Brasil
Cara muito bom esse djangostack,
Lembro que penei pra caramba pra instala o django com mysql no
Leopard.
Ainda mais que utilizava o MAMP, ae sim que a coisa complica.
Se você estiver na mesma situação a dica que te dou é realmente
instalar o macports conforme o Luiz indicou e depois roda o comando
sudo port install py-mysql, nesse caso ele vai instala junto o mysql.
No meu caso somente com o python 2.4 que funcionou corretamente.


Flávio L Mendes

On 3 set, 11:46, "Fábio Morbec" <mor...@gmail.com> wrote:
> Camilo,
>
> uma solução pode ser o Django Stack (http://bitnami.org/stack/djangostack)
> que já instala o Django, MySQL. Tem versão para Windows, Mac, Linux.
>
> Mas a última versão do Django que eles utilizaram é do dia 21/04/2008 ...
>
> []s
>
> 2008/9/3 Luiz T. Honda <idz...@gmail.com>
>
>
>
>
>
> > Oi Camilo,
>
> > O MySQLdb não vem instalado nas "pilhas" do Python.
>
> > Eu uso um Tiger e nele tenho o ports (http://www.macports.org/) instalado.
>
> > Após instalá-lo, você executa o seguinte comando:
>
> > sudo port install py-mysql
>
> > Não sei qual versão do Python vem no Leopard, mas no Tiger vem o 2.3.
> > Como eu queria usar o 2.5, instalei esta versão usando o ports e no
> > meu box fiz um link symbólico de /opt/local/bin/python2.5 para
> > /usr/bin/python2.5
>
> > Você também pode optar por instalar o pacote oficial do MySQLdb no site:
>
> >http://sourceforge.net/projects/mysql-python
>
> > Apenas preste atenção a qual versão de Python você está usando e se no
> > diretório site-packages tem o MySQLdb instalado.
>
> > O eu ports está instalado em /opt/local e o MySQLdb em
>
> > /opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/MySQLdb/
>
> > []s
>
> > Honda
> > 2008/9/2 Camilo Arthur <camilo.art...@gmail.com>:
> > > Primeiramente gostaria de deixar claro que, apesar de ja programar em
> > outras
> > > linguagens, sou iniciante no mundo python...
> > > Estava seguindo o django tutorial (
> > >http://www.djangoproject.com/documentation/tutorial01/) pra tentar

Luiz T. Honda

unread,
Sep 4, 2008, 12:49:30 AM9/4/08
to django...@googlegroups.com
Flávio,

Eu tenho usado o Python 2.5.2 no Tiger. Tem como você instalar o 2.5:

sudo port install python25

Tem até o 3.0-alpha3, mas não testei... ainda...
Também testei o MAMP mas não gostei...

Outra solução é usar um Ubuntu no Mac. Eu tenho uma partição com
Ubuntu e instalar pacotes é muito fácil.
O Ubuntu tem muitos pacotes, eles são livres e em número muito maior
com relação aos pacotes do ports.

[]s

Honda


2008/9/4 flme...@gmail.com <flme...@gmail.com>:
--
http://luizhonda.wordpress.com/

Sérgio Durand

unread,
Sep 4, 2008, 9:12:58 AM9/4/08
to django...@googlegroups.com
Oi Camilo,

Esse negócio de 32 bits e 64 bits é realmente uma dor de cabeça...
Minha máquina é 64 mais instalei tudo 32 para evitar dor de cabeça.
Pelo o que e eu li (peguei esse thread pela metade), você que está
compilando o módulo mysql para o python...
Eu acho (veja bem, não tenho certeza) que se o seu sistema operacional
for 64 bits, ao menos que você passe algum parâmetro na hora de
compilar, o módulo compilado será de 64 bits.
Seguindo essa lógica, não adiantaria desinstalar o mysql 64 e colocar o
32 no lugar, sendo que o módulo python-mysql que voce está compilando
está sendo gerado para 64 bits.
Bom, isso é só um chute =)

[]'s
Sérgio Durand

python-mysql-1.2.2-50.1

Camilo Arthur escreveu:

Reply all
Reply to author
Forward
0 new messages