260 votes

Obtenir "Erreur de chargement du module MySQLdb: Aucun module nommé MySQLdb" - ont essayé des solutions précédemment publiées

C'est beaucoup discuté de la question pour OSX 10.6 utilisateurs, mais je n'ai pas été en mesure de trouver une solution qui fonctionne. Voici ma configuration:

Python 2.6.1 64bit Django 1.2.1 MySQL 5.1.47 osx10.6 64bit

J'ai créer un virtualenvwrapper avec l'option --no-site-packages, puis installé Django. Quand j'active le virtualenv et exécuter python manage.py syncdb, j'obtiens cette erreur:

Traceback (most recent call last):
File "manage.py", line 11, in <module>
  execute_manager(settings)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
  utility.execute()
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute
  self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 257, in fetch_command
  klass = load_command_class(app_name, subcommand)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 67, in load_command_class
  module = import_module('%s.management.commands.%s' % (app_name, name))
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
  __import__(name)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/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 "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/sql.py", line 5, in <module>
from django.contrib.contenttypes import generic
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/contrib/contenttypes/generic.py", line 6, in <module>
  from django.db import connection
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/__init__.py", line 75, in <module>
  connection = connections[DEFAULT_DB_ALIAS]
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/utils.py", line 91, in __getitem__
  backend = load_backend(db['ENGINE'])
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/utils.py", line 32, in load_backend
  return import_module('.base', backend_name)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
  __import__(name)
File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/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: No module named MySQLdb

J'ai également installé le MySQL pour Python carte, mais sans succès (peut-être que je l'ai installé mal?).

Quelqu'un a traité ce avant?

330voto

Clint Points 2321

J'ai eu le même message d'erreur et pip install MySQL-python résolu pour moi.

Suppléant installe:

  • Si vous n'avez pas de pip, easy_install MySQL-python devrait fonctionner.
  • Si votre python est géré par un système d'emballage, vous pourriez avoir à utiliser ce système (par exemple, sudo apt-get install ...)

Ci-dessous, Soli note que si vous recevez le message d'erreur suivant:

EnvironmentError: mysql_config not found

... alors vous avez un autre système de problème de dépendance. La résolution de ce varient d'un système à l'autre, mais pour la dérivée de Debian systèmes:

sudo apt-get install python-mysqldb

62voto

kottin Points 487

En cours d'exécution d'Ubuntu, je devais faire:

 sudo apt-get install python-mysqldb
 

58voto

MrOodles Points 842

Ajout à d'autres réponses, ce qui suit m'a aidé à terminer l'installation mysql-python:

virtualenv, mysql-python, pip: quelqu'un sait comment?

Sur Ubuntu ...

 apt-get install libmysqlclient-dev
apt-get install python-dev
pip install mysql-python
 

N'oubliez pas d'ajouter 'sudo' au début des commandes si vous n'avez pas les permissions appropriées.

19voto

toucan Points 596

mysql_config doit être sur le chemin. Sur Mac, fais

 export PATH=$PATH:/usr/local/mysql/bin/
pip install MySQL-python
 

14voto

Soli Points 121
 pip install mysql-python
 

a soulevé une erreur:

EnvironmentError: mysql_config introuvable

 sudo apt-get install python-mysqldb
 

résolu le problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X