2012-03-04 7 views
5

sto eseguendo i seguenti comandi e ottenere il seguente errore:ubuntu MySQLdb non installato correttamente

root# sudo python manage.py syncdb 
Traceback (most recent call last): 
    File "manage.py", line 14, in <module> 
    execute_manager(settings) 
    File "/usr/lib/pymodules/python2.6/django/core/management/__init__.py", line 438, in execute_manager 
    utility.execute() 
    File "/usr/lib/pymodules/python2.6/django/core/management/__init__.py", line 379, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/usr/lib/pymodules/python2.6/django/core/management/__init__.py", line 261, in fetch_command 
    klass = load_command_class(app_name, subcommand) 
    File "/usr/lib/pymodules/python2.6/django/core/management/__init__.py", line 67, in load_command_class 
    module = import_module('%s.management.commands.%s' % (app_name, name)) 
    File "/usr/lib/pymodules/python2.6/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/usr/lib/pymodules/python2.6/django/core/management/commands/syncdb.py", line 7, in <module> 
    from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal 
    File "/usr/lib/pymodules/python2.6/django/core/management/sql.py", line 5, in <module> 
    from django.contrib.contenttypes import generic 
    File "/usr/lib/pymodules/python2.6/django/contrib/contenttypes/generic.py", line 6, in <module> 
    from django.db import connection 
    File "/usr/lib/pymodules/python2.6/django/db/__init__.py", line 77, in <module> 
    connection = connections[DEFAULT_DB_ALIAS] 
    File "/usr/lib/pymodules/python2.6/django/db/utils.py", line 91, in __getitem__ 
    backend = load_backend(db['ENGINE']) 
    File "/usr/lib/pymodules/python2.6/django/db/utils.py", line 32, in load_backend 
    return import_module('.base', backend_name) 
    File "/usr/lib/pymodules/python2.6/django/utils/importlib.py", line 35, in import_module 
    __import__(name) 
    File "/usr/lib/pymodules/python2.6/django/db/backends/mysql/base.py", line 14, in <module> 
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) 
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient_r.so.16: cannot open shared object file: No such file or directory 

Ho la sensazione che mysqldb non è configurato correttamente con Django, mi chiedevo se mi manca nulla. Ho eseguito i seguenti comandi a destra prima di esso:

# apt-get install python-django 
# apt-get install python-mysqldb 
+0

È difficile dire cosa sta succedendo senza saperne di più sul server, ma proverei a fare le installazioni con sudo. questo è un post molto simile a http://stackoverflow.com/questions/7459766/installing-mysql-python –

+0

Incolla l'output di 'apt-get install python-mysqldb' –

+0

' sudo apt-get install python-mysqldb Reading elenchi di pacchetti ... Fine Albero di dipendenza dell'edificio Informazioni sullo stato di lettura ... Fine python-mysqldb è già la versione più recente. 0 aggiornato, 0 appena installato, 0 da rimuovere e 73 non aggiornato. – locoboy

risposta

11

Ho avuto questo stesso problema in cui il mio virtualenv era rotto e non poteva più correre Django quando ho aggiornato a Ubuntu 12.04.

ho semplicemente imbattuto (mentre il mio ve fu attivo)

pip uninstall MySQL-python 

e poi reinstallato con

pip install MySQL-python 

ha funzionato bene di nuovo dopo.

+2

P.S. Si noti che mi ero già assicurato che le mie dipendenze per l'installazione del pip fossero state installate. Se si incontra un errore su "gcc", qualcosa o altro (non è possibile compilare qualche dipendenza), eseguire "sudo apt-get build-dep python-mysqldb' –

+0

Ho avuto lo stesso identico problema dopo l'aggiornamento a 12.04, e questo è lo stesso -installare il trucco lo ha risolto Grazie! – Steve

+0

Questo ha funzionato anche per me, grazie mille! – Darren