O problema que estou enfrentando ao tentar me conectar ao banco de dados para o mysql. Também forneci as configurações do banco de dados que usei.
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
Configurações do banco de dados:
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.
}
}
Muito obrigado pela ajuda !!
você tem que instalar python-mysqldb - interface Python para MySQL
Experimentar
sudo apt-get install python-mysqldb
fonte
Se você receber erros ao tentar instalar o mysqlclient com pip, você pode não ter a biblioteca dev mysql. Instale-o executando:
e tente instalar o mysqlclient novamente:
fonte
pip install mysqlclient
. Eu tinha esquecido de adicionar isso ao meu arquivo requirements.txt, então, embora o banco de dados MySQL estivesse lá e populado, meu servidor Django da web não conseguia interagir com ele.Minha resposta é semelhante a @Ron-E, mas recebi mais alguns erros / correções, então estou colocando minhas etapas abaixo para Mac OSX em Mavericks e Python 2.7.6.
Instale o pacote Python mysql (se você receber uma mensagem de sucesso, ignore as etapas abaixo)
Quando fiz o acima, recebi o erro "EnvironmentError: mysql_config not found" Para corrigir isso, fiz o seguinte no terminal:
Quando reexamino a etapa 1, recebo um novo erro "erro: o comando 'cc' falhou com o status de saída 1" Para corrigir isso, fiz o seguinte no terminal:
Repeti a etapa 1 e recebi a mensagem de sucesso 'mysql-python instalado com sucesso'!
fonte
-bash: export: =-Qunused-arguments': not a valid identifier
Quando configurei o ambiente de desenvolvimento Django para PyCharm no Mac OS X Mountain Lion com o aplicativo python, mysql, sequel pro, recebi o mesmo erro do proprietário deste segmento. No entanto, minha resposta para eles que estão executando python-mysqldb no Mac OS Mountain Lion x86_x64 (MySql e Python também devem ter a mesma arquitetura) e já tentaram de tudo como pip e etc. Para corrigir este problema, siga os seguintes passos:
Se você receber um erro como este: "Erro de ambiente: / usr / local / bin / mysql_config não encontrado", tente adicionar o caminho a seguir: "export PATH = $ PATH: / usr / local / mysql / bin". Mas a id não me ajudou e encontrei outra solução. No final da saída de erro de execução de comando que se parece com isto:
Arquivo "/path_to_file/MySQL-python-1.2.4b4/setup_posix.py", linha 25, em mysql_config raise EnvironmentError ("% s não encontrado"% (mysql_config.path,))
Abra setup_posix.py com vim e vá para a linha 25 (no seu caso pode ser diferente, a menos que seja da mesma versão).
A linha 25 deve ficar assim após a sua edição, a menos que seu mysql tenha um link simbólico como a seguir '/ usr / local / mysql / bin /':
f = popen("%s --%s" % ('/usr/local/mysql/bin/mysql_config', what))
Depois disso, recebi outro erro como o seguinte:
django.core.exceptions.ImproperlyConfigured: Erro ao carregar o módulo MySQLdb: dlopen (/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so, 2) : Biblioteca não carregada: libmysqlclient.18.dylib Referenciado em: /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so Motivo: imagem não encontrada
Finalmente fiz o seguinte no console:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
Atualmente tudo funciona bem. Portanto, espero que seja útil para alguém que usa Mac. :)
fonte
Você está faltando a
mysqldb
biblioteca python . Use este comando (para Debian / Ubuntu) para instalá-lo:sudo apt-get install python-mysqldb
fonte
Baixe e instale o Mysql-python daqui para o ambiente Windows. http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python .
fonte
É porque não encontrou o conector sql. experimentar:
fonte
Para Ubuntu 16.04 e 18.04 ou versões python 3
fonte
Tenho resolvido este problema neste ambiente:
./settings.py
Se você usar
'ENGINE': 'mysql.connector.django'
, instale o driver executando:Observe que
$ pip install mysql-python
não funcionou para mim.Observe que se você usar
'ENGINE': 'django.db.backends.mysql'
, deve instalar o driver executando:$ pip install mysqlclient
Finalmente execute:
$ python manage.py migrate
Se estiver tudo bem, o python criará todos esses bancos de dados de ID de tabelas:
fonte
No Ubuntu, é aconselhável usar o repositório de distribuições.
fonte
Se você estiver usando o pyhton versão 3.4 ou superior. você tem que instalar
no terminal. em seguida, instale
pip install mysqlclient
em seu ambiente virtual ou onde você instalou o pip.fonte
Com a mesma mensagem de erro de Will, funcionou para mim instalar o mysql primeiro, pois o arquivo ausente será adicionado durante a instalação. Então depois
correu sem erros.
fonte
Isso também aconteceu comigo e acredito que se tornou um erro comum não apenas para desenvolvedores Django, mas também para Flask, então a maneira que resolvi esse problema foi usando o brew.
brew install mysql
sudo pip install mysql-python
Desta forma, todos os problemas foram resolvidos e ambos os frameworks funcionam perfeitamente bem.
PS: Para aqueles que usam macports (como eu), isso pode ser um problema, pois a cerveja funciona em um nível diferente, meu conselho é usar cerveja em vez de macports
Espero poder ser útil.
fonte
Eu estava tendo o mesmo problema. O seguinte resolveu meu problema
Execute pip install pymysql em seu shell
Em seguida, edite o arquivo init.py no diretório de origem do projeto (o mesmo que settings.py) e depois
adicionar:
importar pymysql
pymysql.install_as_MySQLdb ()
isso deve resolver o problema.
fonte
__init__.py
?experimentar:
Recomendo usá-lo em um ambiente virtual.
fonte
Apenas para adicionar outras respostas, se você estiver usando Django, é aconselhável instalar mysql-python ANTES de instalar o Django.
fonte
Perdi muito tempo com isso. Acontece que a biblioteca de banco de dados padrão não é compatível com Python 3. Você precisa usar uma diferente .
fonte
se o erro se parece com este
Então tente :
fonte
Enfrentou um problema semelhante. Eu tentei instalar
mysql-python
usando pip, mas falhou devido a erros de dependência do gcc.A solução que funcionou para mim
Observe que eu já tinha o anaconda instalado, que não tinha dependência do gcc.
fonte
Parece que você não tem permissão para a pasta Python. Experimentar
sudo chown -R $USER /Library/Python/2.7
fonte
Talvez você possa tentar o seguinte modo de operação:
sudo python manage.py runserver 0.0.0.0:8000
fonte