Le problème auquel je suis confronté en essayant de me connecter à la base de données pour mysql. J'ai également donné les paramètres de base de données que j'ai utilisés.
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 453, in execute_from_command_line
utility.execute()
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 272, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 77, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/home/arundhati/Desktop/test/testprac/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 8, in <module>
from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/core/management/sql.py", line 9, in <module>
from django.db import models
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/__init__.py", line 40, in <module>
backend = load_backend(connection.settings_dict['ENGINE'])
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/__init__.py", line 34, in __getattr__
return getattr(connections[DEFAULT_DB_ALIAS], item)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/utils.py", line 93, in __getitem__
backend = load_backend(db['ENGINE'])
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/utils.py", line 27, in load_backend
return import_module('.base', backend_name)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/home/ar/Desktop/test/testprac/local/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 17, in <module>
raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
Paramètres de la base de données ::
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'ar_test_db', # Or path to database file if using
# The following settings are not used with sqlite3:
'USER': '',
'PASSWORD': '',
'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': '', # Set to empty string for default.
}
}
Merci beaucoup pour l'aide !!
vous devez installer python-mysqldb - interface Python vers MySQL
Essayer
sudo apt-get install python-mysqldb
la source
Si vous rencontrez des erreurs lors de l'installation de mysqlclient avec pip, vous risquez de ne pas avoir la bibliothèque de développement mysql. Installez-le en exécutant:
et essayez à nouveau d'installer mysqlclient:
la source
pip install mysqlclient
. J'avais oublié de l'ajouter à mon fichier requirements.txt, donc même si la base de données MySQL était là et peuplée, mon serveur Web Django ne pouvait pas interagir avec elle.Ma réponse est similaire à @ Ron-E, mais j'ai eu quelques erreurs / corrections supplémentaires, donc je mets mes étapes ci-dessous pour Mac OSX sur Mavericks et Python 2.7.6.
Installez le package Python mysql (si vous obtenez un message de réussite, ignorez les étapes ci-dessous)
Quand j'ai fait ce qui précède, j'ai eu l'erreur "EnvironmentError: mysql_config not found" Pour résoudre ce problème, j'ai fait ce qui suit dans le terminal:
Lorsque je relance l'étape 1, j'obtiens une nouvelle erreur "erreur: la commande 'cc' a échoué avec l'état de sortie 1" Pour résoudre ce problème, j'ai fait ce qui suit dans le terminal:
J'ai relancé l'étape 1 et j'ai reçu le message de réussite «mysql-python installé avec succès»!
la source
-bash: export: =-Qunused-arguments': not a valid identifier
Lorsque j'ai configuré l'environnement de développement Django pour PyCharm dans Mac OS X Mountain Lion avec l'application python, mysql, suite pro, j'ai eu l'erreur identique en tant que propriétaire de ce fil. Cependant, ma réponse pour ceux qui exécutent python-mysqldb sous Mac OS Mountain Lion x86_x64 (MySql et Python devraient également être de la même architecture) et ont déjà tout essayé comme pip et etc. Pour résoudre ce problème, procédez comme suit:
Si vous obtenez une erreur comme celle-ci: "Erreur d'environnement: / usr / local / bin / mysql_config introuvable" alors essayez d'ajouter le chemin ass suit: "export PATH = $ PATH: / usr / local / mysql / bin". Mais ça ne m'a pas aidé et j'ai trouvé une autre solution. À la fin de la sortie d'erreur d'exécution de commande qui ressemble à ceci:
Fichier "/path_to_file/MySQL-python-1.2.4b4/setup_posix.py", ligne 25, dans mysql_config lever EnvironmentError ("% s not found"% (mysql_config.path,))
Ouvrez setup_posix.py avec vim et allez à la ligne 25 (dans votre cas, cela peut être différent sauf s'il s'agit de la même version).
La ligne 25 devrait ressembler à ceci après votre édition à moins que votre mysql n'ait un lien symbolique comme suit '/ usr / local / mysql / bin /':
f = popen("%s --%s" % ('/usr/local/mysql/bin/mysql_config', what))
Après cela, j'ai eu une autre erreur comme suit:
django.core.exceptions.ImproperlyConfigured: Erreur de chargement du module MySQLdb: dlopen (/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so, 2) : Bibliothèque non chargée: libmysqlclient.18.dylib Référencé à partir de: /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so Raison: image non trouvée
Enfin, j'ai suivi dans la console:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
Actuellement, tout fonctionne bien. J'espère donc que cela sera utile pour quelqu'un qui utilise Mac. :)
la source
Il vous manque la
mysqldb
bibliothèque python . Utilisez cette commande (pour Debian / Ubuntu) pour l'installer:sudo apt-get install python-mysqldb
la source
Téléchargez et installez Mysql-python à partir d'ici pour l'environnement Windows. http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python .
la source
C'est parce qu'il n'a pas trouvé de connecteur SQL. essayer:
la source
Pour les versions Ubuntu 16.04 et 18.04 ou python 3
la source
Si vous utilisez pyhton version 3.4 ou supérieure. tu dois installer
dans le terminal. puis installez
pip install mysqlclient
sur votre environnement virtuel ou là où vous avez installé pip.la source
J'ai résolu ce problème dans cet environnement:
./settings.py
Si vous utilisez
'ENGINE': 'mysql.connector.django'
, installez le pilote en exécutant:Notez que cela
$ pip install mysql-python
n'a pas fonctionné pour moi.Notez que si vous utilisez
'ENGINE': 'django.db.backends.mysql'
, vous devez installer le pilote exécutant:$ pip install mysqlclient
Enfin exécutez:
$ python manage.py migrate
Si tout va bien, python crée toutes ces bases de données d'id de tables:
la source
Sur Ubuntu, il est conseillé d'utiliser le référentiel des distributions.
la source
Avec le même message d'erreur que Will, cela a fonctionné pour moi d'installer d'abord mysql car le fichier manquant sera ajouté lors de l'installation. Donc après
couru sans erreurs.
la source
Cela m'est également arrivé et je crois que c'est devenu une erreur courante non seulement pour les développeurs Django mais aussi pour Flask, donc la façon dont j'ai résolu ce problème a été d'utiliser brew.
brew install mysql
sudo pip install mysql-python
De cette façon, chaque problème a été résolu et les deux frameworks fonctionnent parfaitement.
PS: Pour ceux qui utilisent macports (comme moi), cela peut être un problème car brew fonctionne à un niveau différent, mon conseil est d'utiliser brew au lieu de macports
J'espère que je pourrais être utile.
la source
J'avais le même problème. Ce qui suit a résolu mon problème
Exécutez pip install pymysql dans votre shell
Ensuite, modifiez le fichier init.py dans le répertoire d'origine de votre projet (le même que settings.py), puis
ajouter:
importer pymysql
pymysql.install_as_MySQLdb ()
Cela devrait résoudre le problème.
la source
__init__.py
?essayer:
Je recommande de l'utiliser dans un environnement virtuel.
la source
Juste pour ajouter d'autres réponses, si vous utilisez Django, il est conseillé d'installer mysql-python AVANT d'installer Django.
la source
J'ai perdu beaucoup de temps là-dessus. Il s'avère que la bibliothèque de base de données par défaut n'est pas prise en charge pour Python 3. Vous devez en utiliser une autre .
la source
si l'erreur ressemble à ceci
puis essayez :
la source
Face à un problème similaire. J'ai essayé d'installer à l'
mysql-python
aide de pip, mais cela a échoué en raison d'erreurs de dépendance gcc.La solution qui a fonctionné pour moi
Veuillez noter que j'avais déjà installé anaconda, qui n'avait pas de dépendance gcc.
la source
On dirait que vous n'avez pas l'autorisation sur le dossier Python. Essayer
sudo chown -R $USER /Library/Python/2.7
la source
Vous pouvez peut-être essayer le mode de fonctionnement suivant:
sudo python manage.py runserver 0.0.0.0:8000
la source