web-dev-qa-db-ja.com

django.core.exceptions.ImproperlyConfigured:MySQLdbモジュールの読み込みエラー:MySQLdbという名前のモジュールはありません

Mysqlのデータベースに接続しようとしているときに直面する問題。また、使用したデータベース設定も指定しました。

 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

データベース設定::

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.
    }
}

助けてくれてありがとう!!

78
getitstarted

python mysqlパッケージがインストールされていないようです。試してください:

pip install mysql-python

または仮想環境を使用していない場合(* nixホスト上):

Sudo pip install mysql-python
126
Ron E

python-mysqldbをインストールする必要があります-Python MySQLへのインターフェイス

試して
Sudo apt-get install python-mysqldb

32
Rashi

Pipを使用してmysqlclientをインストールしようとしてエラーが発生した場合、mysql devライブラリが不足している可能性があります。次を実行してインストールします:

apt-get install libmysqlclient-dev

そして、mysqlclientのインストールを再試行します。

pip install mysqlclient
31
Psddp

Python、mysql、sequel proアプリケーションを使用してMac OS X Mountain LionでPyCharmのDjango開発環境をセットアップすると、このスレッドの所有者と同じエラーが発生しました。ただし、Mac OS Mountain Lion x86_x64(MySqlとPythonも同じアーキテクチャである必要があります)でpython-mysqldbを実行し、pipなどのすべてを既に試しているユーザーに対する私の答えは、この問題を修正するには次のようにします手順:

  1. PythonのMySqlを here からダウンロードします
  2. ダウンロードしたファイルを解凍します。ターミナルウィンドウで次の操作を行います:tar xvfz downloade.tar。
  3. cd/to untaredディレクトリ
  4. Sudo python setup.py installを実行します
  5. 「環境エラー:/ usr/local/bin/mysql_configが見つかりません」のようなエラーが表示された場合は、次のパスを追加してください:「export PATH = $ PATH:/ usr/local/mysql/bin」。しかし、idは役に立たず、別の解決策を見つけました。次のようなコマンド実行エラー出力の最後:

    ファイル「/path_to_file/MySQL-python-1.2.4b4/setup_posix.py」、mysql_configの25行目、EnvironmentError( "%s not found"%(mysql_config.path、))

  6. Vimでsetup_posix.pyを開き、25行目に移動します(同じバージョンでない限り、異なる場合があります)。

  7. Mysqlに「/ usr/local/mysql/bin /」のようなシンボリックリンクがない限り、編集後の25行目は次のようになります。

    f = popen("%s --%s" % ('/usr/local/mysql/bin/mysql_config', what))

  8. この後、次のような別のエラーが発生しました。

    Django.core.exceptions.ImproperlyConfigured:MySQLdbモジュールの読み込みエラー:dlopen(/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.Egg/_mysql.so、2) :ライブラリがロードされていません:libmysqlclient.18.dylib参照元:/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.Egg/_mysql.so理由:image not found

  9. 最後に、コンソールで次のことを行いました:

    Sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

現在、すべてが正常に動作します。だから、Macを使っている人に役立つことを願っています。 :)

11
Khamidulla

私の答えは@ Ron-Eに似ていますが、さらにいくつかのエラー/修正があったので、MavericksおよびPython 2.7.6上のMac OSXの手順を以下に示します。

  1. Python mysqlパッケージをインストールします(成功メッセージが表示された場合は、以下の手順を無視してください)

    pip install mysql-python
    
  2. 上記を実行したときに、「EnvironmentError:mysql_config not found」というエラーが表示されました enter image description here これを修正するために、ターミナルで以下を実行しました。

    export PATH=$PATH:/usr/local/mysql/bin
    
  3. ステップ1を再実行すると、新しいエラー「エラー:コマンド 'cc'が終了ステータス1で失敗しました」が表示されます enter image description here これを修正するために、ターミナルで以下を実行しました。

     export CFLAGS=-Qunused-arguments
     export CPPFLAGS=-Qunused-arguments
    
  4. ステップ1を再実行すると、「mysql-pythonが正常にインストールされました」という成功メッセージが表示されました。

10
Will

Windows環境用に、ここからMysql-pythonをダウンロードしてインストールします。 http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python

6
ruddra

python mysqldbライブラリがありません。次のコマンド(Debian/Ubuntu用)を使用してインストールします:Sudo apt-get install python-mysqldb

6
Haimei

これは、SQLコネクタが見つからなかったためです。試してください:

pip install mysqlclient
4
Anand Prakash

Ubuntuでは、ディストリビューションリポジトリを使用することをお勧めします。

Sudo apt-get install python-mysqldb
3
Gaurav Agarwal

Ubuntu 16.04および18.04またはpython 3バージョンの場合

Sudo apt-get install python3-mysqldb
2
Gowthaman

これは私にも起こりました。これはDjango開発者だけでなくFlask開発者にとっても一般的なエラーになったと思うので、この問題を解決する方法はbrewを使用していました。

  1. brew install mysql
  2. Sudo pip install mysql-python

これにより、すべての問題が解決され、両方のフレームワークが完全に機能します。

追伸:macports(自分など)を使用する場合、これは問題になる可能性がありますが、醸造は異なるレベルで機能するため、macportsの代わりにbrewを使用することをお勧めします

役に立てば幸いです。

2
pykimera

Willと同じエラーメッセージで、インストール中に見つからないファイルが追加されるため、mysqlを最初にインストールすることができました。だから後

brew install mysql

pip install mysql-python

エラーなしで実行されました。

1
cmdAmir

私は同じ問題を抱えていました。以下は私の問題を解決しました

シェルでpip install pymysqlを実行します

次に、プロジェクトのOriginディレクトリ(settings.pyと同じ)でinit.pyファイルを編集してから、

追加:

pymysqlをインポート

pymysql.install_as_MySQLdb()

これで問題が解決するはずです。

0
Vaishnav Raja

解決済みこの環境でのこの問題:

$ pyenv --version
pyenv 1.2.9

$ python --version
Python 3.7.2

$ python -m Django --version
2.1.7

./ settings.py

DATABASES = {
    'default': {
        'NAME': 'my_db_name',
        'ENGINE': 'mysql.connector.Django',   # 'Django.db.backends.mysql'
        'USER': '<user>',
        'PASSWORD': '<pass>',
        'Host': 'localhost',
        'PORT': 3306,
        'OPTIONS': {
            'autocommit': True,
        },
    }
}

'ENGINE': 'mysql.connector.Django'を使用する場合、次を実行してドライバーをインストールします。

$ pip install mysql-connector-python
Successfully installed mysql-connector-python-8.0.15 protobuf-3.7.0 six-1.12.0

$ pip install mysql-pythondiedは私には機能しなかったことに注意してください。

'ENGINE': 'Django.db.backends.mysql'を使用する場合は、次を実行するドライバーをインストールする必要があることに注意してください。
$ pip install mysqlclient

最後に実行します:
$ python manage.py migrate

大丈夫なら、pythonはこれらすべてのテーブルidデータベースを作成します:

auth_group
auth_group_permissions
auth_permission
auth_user
auth_user_groups
auth_user_user_permissions
Django_admin_log
Django_content_type
Django_migrations
Django_session
0
JavierFuentes

他の回答に追加するために、Djangoを使用している場合は、Djangoをインストールする前にmysql-pythonをインストールすることをお勧めします。

0
Anoyz

同様の問題に直面した。 pipを使用してmysql-pythonをインストールしようとしましたが、gcc依存関係エラーのために失敗しました。

私のために働いた解決策

conda install mysql-python

すでにanacondaがインストールされており、gccに依存していないことに注意してください。

0
Ayush Vatsyayan

エラーがこのように見える場合

Django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module:
dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/_mysql.so, 2): Library not loaded: 
/usr/local/opt/mysql/lib/libmysqlclient.20.dylib
Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/_mysql.so

次に試してください:

pip install python-mysqldb
0
blueChair

Pyhtonバージョン3.4以降を使用している場合。あなたはインストールする必要があります

Sudo apt-get install python3-dev libmysqlclient-dev 

ターミナル内。次に、仮想環境またはpipをインストールした場所にpip install mysqlclientをインストールします。

0
selvakumar

これに多くの時間を費やしました。デフォルトのデータベースライブラリはPython 3ではサポートされていません。 別のものを使用する必要があります

0
Deleet