2012-03-04 2 views
5

я бегу следующие команды и получить следующее сообщение об ошибке:убунту MySQLdb установлен неправильно

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 

У меня есть ощущение, что MySQLDb не настроен должным образом с Джанго, мне было интересно, если я не хватает что-нибудь. я побежал следующие команды прямо перед ним:

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

Трудно сказать, что происходит, если вы не знаете больше о сервере, но я бы попытался выполнить установки с помощью sudo. это довольно похоже сообщение на http://stackoverflow.com/questions/7459766/installing-mysql-python –

+0

Вставить вывод 'apt-get install python-mysqldb' –

+0

' sudo apt-get install python-mysqldb Чтение списки пакетов ... Сделано Здание дерева зависимостей Чтение информации о состоянии ... Сделано python-mysqldb - это уже самая новая версия. 0 обновлен, 0 вновь установлен, 0 удален и 73 не обновлен. ' – locoboy

ответ

11

У меня была такая же проблема, где моя virtualenv не была нарушена, и больше не мог работать Джанго, когда я повышен до Ubuntu 12.04.

Я просто побежал (в то время как мой ве был активен)

pip uninstall MySQL-python 

, а затем повторно установил его с

pip install MySQL-python 

работал нормально снова после этого.

+2

P.S. Обратите внимание, что я уже убедился, что мои зависимости для установки pip установлены. Если вы сталкиваетесь с ошибкой о «gcc», то или нет (не можете скомпилировать некоторую зависимость c), тогда запустите 'sudo apt-get build-dep python-mysqldb' –

+0

У меня была такая же проблема после обновления до 12.04, -install трюк исправил его. Благодаря! – Steve

+0

Это сработало и для меня, большое спасибо! – Darren