101

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

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

4

25 に答える 25

140

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

pip install mysql-python

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

sudo pip install mysql-python
于 2013-03-09T16:02:41.340 に答える
14

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

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

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

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

     export CFLAGS=-Qunused-arguments
     export CPPFLAGS=-Qunused-arguments
    
  4. ステップ 1 を再実行したところ、'Successfully installed mysql-python' という成功メッセージが表示されました。

于 2014-05-15T14:30:22.483 に答える
12

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

  1. ここから Python 用の MySql をダウンロードします。
  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"、25 行目、mysql_config で 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 理由: 画像が見つかりません

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

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

現在、すべて正常に動作しています。Macを使っている方の参考になれば幸いです。:)

于 2013-10-02T09:35:46.583 に答える
8

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

于 2014-01-29T00:13:52.743 に答える
7

この環境でこの問題を解決しました:

$ 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-python私にとってはうまくいかなかったことに注意してください。

'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
于 2019-03-10T10:18:06.447 に答える
5

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

sudo apt-get install python3-mysqldb
于 2017-12-12T05:43:19.467 に答える
3

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

sudo apt-get install python-mysqldb
于 2014-01-18T21:19:23.140 に答える
2

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

brew install mysql

pip install mysql-python

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

于 2015-05-05T17:30:36.057 に答える
0

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

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
于 2016-11-06T07:08:49.987 に答える
0

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

于 2016-10-01T18:21:38.090 に答える
0

単純に pip を使用してこれを試してください: Windows で推奨されるコマンドは次のとおりです。

python -m pip install mysqlclient

仮想環境で使用する

于 2021-09-03T13:02:43.367 に答える
0

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

于 2013-08-20T08:19:35.623 に答える