web-dev-qa-db-ja.com

Python3 + MySql:MySQLdbモジュールの読み込みエラー:「MySQLdb」というモジュールはありません

私はPythonであり、MySQLで動作するようにDjangoプロジェクトをセットアップしようとしています。ドキュメントおよび他のStackOverflowの記事を読んでいます。トピックですが、私はまだそれを動作させることができません。

Django=で移行を実行しようとすると、次のエラーが表示されます。

Error loading MySQLdb module: No module named 'MySQLdb'

推奨される MySql Python Connector(2.0.1) Ubuntuを選択しました(私はMint Linuxを使用しているため)。正しくインストールされますが、エラーが発生します。このライブラリをプロジェクトなどに追加する必要はありませんか?pythonはこのことを認識して正常に実行する必要があります。どうすればよいですか。ありがとうございます。

編集:私は言及するのを忘れました:私はPython 3.4を実行しています-多くの典型的なソリューションはまだ2.7を使用しているので、動作しませんし、3.0のすべてのソリューションは成功しませんでした。

16
skaz

Settings.pyでデータベース構成を確認する必要がありますが、MySQL Pythonインストールしたコネクターの代わりにMySQLDBをロードしようとしているようです。データベースは次のようになります。

DATABASES = {
    'default': {
        'NAME': 'mydatabase',
        'ENGINE': 'mysql.connector.Django',
        'USER': 'myuser',
        'PASSWORD': 'secretpassword',
        'OPTIONS': {
          'autocommit': True,
        },
    }
}

Django= MySQLDBの代わりにmysqlコネクタを使用するよう指示するENGINE部分に注意してください...

詳細情報はこちら: http://bunwich.blogspot.com/2014/02/finally-mysql-connector-that-works-with.htmlhttp://dev.mysql .com/doc/connector-python/en/connector-python-Django-backend.html

また、Southの使用を予定している場合:

www.pythonanywhere.com/wiki/UsingMySQL

OracleコネクタはGPLであり、そのコードの使用にはライセンスの問題があることに注意してください。こちらをご覧ください:

groups.google.com/forum/#!topic/Django-developers/8r_RVmUe5ys

Django 1.7ドキュメントでは、mysqlclientドライバーの使用を推奨しています...

docs.djangoproject.com/en/1.7/ref/databases/ --Mysql DB APIドライバーのセクションを参照

そのクライアントのpypi.python.org/pypi/mysqlclient ...

-スコット

12
Scott Sharkey

Ubuntu Server 16.04では既存の回答がどれもうまくいかなかったので、実行しました:

Sudo apt-get install libmysqlclient-dev
Sudo -H pip3 install mysqlclient

最初のコマンドは、2番目のコマンドに必要なmysql構成を取得します。

17
Dan-Dev

pip install mysqlclient私のために動作しますpython3.5

14
Pegasus

Pymysqlをインストールできる場合(Python 3.4)でうまく機能します)、次の行をDjangoのmanage.pyファイルに追加します。

try:
    import pymysql
    pymysql.install_as_MySQLdb()
except ImportError:
    pass

これにより、MySQLdbのようなpymysql機能が作成され、機能しました。