Erreur lors du Chargement du Module MySQLdb et “pip install MySQLdb”
Je suis en train de démarrer un projet Django.
Je reçois ce message d'erreur en essayant d'exécuter le manage.py:
(venv)dyn-160-39-161-214:proj Bren$ python manage.py
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/Users/Bren/Desktop/fss/venv/lib/python2.7/site-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
utility.execute()
File "/Users/Bren/Desktop/fss/venv/lib/python2.7/site-packages/django/core/management/__init__.py", line 328, in execute
django.setup()
File "/Users/Bren/Desktop/fss/venv/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/Users/Bren/Desktop/fss/venv/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate
app_config.import_models(all_models)
File "/Users/Bren/Desktop/fss/venv/lib/python2.7/site-packages/django/apps/config.py", line 198, in import_models
self.models_module = import_module(models_module_name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/Users/Bren/Desktop/fss/venv/lib/python2.7/site-packages/django/contrib/auth/models.py", line 41, in <module>
class Permission(models.Model):
File "/Users/Bren/Desktop/fss/venv/lib/python2.7/site-packages/django/db/models/base.py", line 139, in __new__
new_class.add_to_class('_meta', Options(meta, **kwargs))
File "/Users/Bren/Desktop/fss/venv/lib/python2.7/site-packages/django/db/models/base.py", line 324, in add_to_class
value.contribute_to_class(cls, name)
File "/Users/Bren/Desktop/fss/venv/lib/python2.7/site-packages/django/db/models/options.py", line 250, in contribute_to_class
self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())
File "/Users/Bren/Desktop/fss/venv/lib/python2.7/site-packages/django/db/__init__.py", line 36, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "/Users/Bren/Desktop/fss/venv/lib/python2.7/site-packages/django/db/utils.py", line 241, in __getitem__
backend = load_backend(db['ENGINE'])
File "/Users/Bren/Desktop/fss/venv/lib/python2.7/site-packages/django/db/utils.py", line 112, in load_backend
return import_module('%s.base' % backend_name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/Users/Bren/Desktop/fss/venv/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 27, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
Je me demandais ce module que je devrais essayer de l'installer.
Lorsque j'utilise pip install MySQLdb
, j'obtiens cette erreur:
Collecting MySQLdb
Could not find a version that satisfies the requirement MySQLdb (from versions: )
No matching distribution found for MySQLdb
Quand je regarde ça, et d'autres endroits, il semble qu'il y a beaucoup de différents modules mysql.
Aussi c'est ce que ma configuration ressemble à de la bd (je n'ai pas écris ce porject et je suis en grande partie nouvelle de django et python):
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
...
}
}
EdBaker suggéré pip install MySQL-python
Je l'ai obtenu comme réponse:
Collecting MySQL-python Using cached MySQL-python-1.2.5.zip
Complete output from command python setup.py egg_info:
sh: mysql_config: command not found
Traceback (most recent call last):
File "<string>", line 20, in <module>
File "/private/var/folders/m3/11zknyw55zxbw6zqh58rwq580000gn/T/pip-build-DC9tSL/MySQL-python/setup.py", line 17, in <module>
metadata, options = get_config()
File "setup_posix.py", line 43, in get_config
libs = mysql_config("libs_r")
File "setup_posix.py", line 25, in mysql_config
raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found
---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/m3/11zknyw55zxbw6zqh58rwq580000gn/T/pip-build-DC9tSL/MySQL-python
De tenter de lancer l'import MySQLdb dans le shell:
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named MySQLdb
Tenter la mise à jour pip:
pip install pip --upgrade
a montré pip a été jusqu'à ce jour
Requirement already up-to-date: pip in /Users/Bren/Desktop/fss/venv/lib/python2.7/site-packages
N'a pas de travail sera mis à jour avec l'erreur.
Pouvez-vous tenter de mettre en place un python, shell et d'exécuter ajouter "import MySQLdb" .. ce qui nous permet de comprendre si c'est un python erreur ou un django d'un
Essayez et mise à jour de pip première: "installer pip pip --mise à niveau", puis essayez de "pip install MySQL-python"
Cette réponse, c'est exactement pour Mac: stackoverflow.com/a/33928783/2419215
OriginalL'auteur Bren | 2015-12-01
Vous devez vous connecter pour publier un commentaire.
Clairement installation
pip install MySQL-python
est le chemin à parcourir. Le problème est l'emplacement de mysql_config. Regardez autour de vous, de ce qui pourrait vous aider en fonction de votre système d'exploitation: mysql_config introuvable lors de l'installation de mysqldb python interfaceEdit:
Dans le cas où le script d'installation échoue avec
Command "python setup.py egg_info" failed with error code 1 in {...}
, l'installation de libmysqlclient-dev avecdevrait résoudre le problème. Grâce à @thirupathi-thangavel.
sudo apt install libmysqlclient-dev
résout le problème ci-dessus.erreur à venir : la Commande "python setup.py egg_info" a échoué avec le code d'erreur 1 dans /private/var/folders/zs/fq6s3c217pxd3bw8hf9dv0h40000gr/T/pip-installer-mdkf0wy8/MySQL-python/
OriginalL'auteur fodma1
J'ai suivi ma question ici Erreur 404 lors de l'utilisation de brew à installer mysql
et puis comme fodma1 suggéré suis allé ici stackoverflow.com/a/33928783/2419215
et maintenant il fonctionne pour la plupart (avoir une autre erreur, mais c'est pour un autre post)!
Grâce EdBaker et fodma1!
OriginalL'auteur Bren
brew install mysql
Chemin sera affichée une fois l'installation terminée, utilisez-le dans la commande ci-dessous :
sudo PATH=/usr/local/Cave/mysql/bin/:$PATH pip install mysql-python
OriginalL'auteur user3763076