質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

解決済

3回答

6103閲覧

djangoとmysqlを接続したい

mae

総合スコア45

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

0クリップ

投稿2015/11/01 09:04

djangoを導入しようとしたところ、mysqlに接続できません。解決方法をご教示ください。
mysql-connector-pythonですでにpythonとmysqlの接続はできている状態です。

ちなみに、mysql-connector-pythonのバージョンは1.1.2です。もしアップデートが必要であれば、アップデートの方法も教えていただけますでしょうか。

■コマンド
$ python manage.py syncdb

■エラー
django.core.exceptions.ImproperlyConfigured: 'mysql.connector.django' isn't an available database backend.
Try using 'django.db.backends.XXX', where XXX is one of:
u'base', u'mysql', u'oracle', u'postgresql_psycopg2', u'sqlite3'
Error was: cannot import name BaseDatabaseFeatures

■settings.py
DATABASES = {
'default': {
'ENGINE': 'mysql.connector.django',
'NAME': 'rakuten',
'USER': 'root',
'PASSWORD' : '',
'HOST' : '',
'P0RT' : '',
}
}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

djangoのバージョンが1.8以上なら、mysql-connector-pythonのバージョンは2.1.3以上が必要だと思います。

$ sudo pip install "mysql-connector-python-rf>=2.1.3"

で、インストールできると思います。

投稿2015/12/07 04:30

Meganezaru

総合スコア715

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Pythonのバージョンは3系でしょうか?

もしそうなら「PyMySQL」というドライバーを使ってみてはいかがでしょうか。
参考:http://qiita.com/aeas44/items/90c867aa2d02f9047ef0

私も参考サイトとほぼ同じ設定で行っております。
違うところといえば、以下の2行をsettings.pyに記述しているところです。

Django

1import pymysql 2pymysql.install_as_MySQLdb()

もし出来なかった場合は、一緒に考えていきたいと思っています。
よろしくお願いいたします。

-- 追記 --
「PyMySQL3」というのもありますが、使っていただきたいのは「PyMySQL」です。

投稿2015/11/01 14:20

編集2015/11/01 14:22
takaocs

総合スコア57

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mae

2015/11/03 06:17

ご回答ありがとうございます。 python2.6を使用しています。 その場合でも、PyMySQLをつかうべきでしょうか?
takaocs

2015/11/03 09:19

PyMySQLのバージョンにもよると思いますが、Python2.6で動くかどうかは正直わかりません。 今回Djangoを使ってWebアプリケーションを作成しようとしているようですが、Pythonのバージョンを、例えばPython3系にするとかはできない状況なのでしょうか? もしできない状況でしたら、環境を教えていただけないでしょうか。 時間がかかってしまうかと思いますが、ご一緒に調べていければと思います。 ちなみに、知りたいのは以下になります。 ・OS ・Djangoのバージョン
guest

0

Django and mysql problems on Mavericksによると、django1.8ではドライバが異なるようです。

pip install mysqlclient

python

1DATABASES = { 2 'default': { 3 'ENGINE': 'django.db.backends.mysql', 4 'NAME': 'rakuten', 5 'USER': 'root', 6 'PASSWORD' : '', 7 'HOST' : '', 8 'P0RT' : '', 9 } 10}

参考: (Djangoメモ)データベースにMySQLを設定

投稿2015/11/01 09:25

shiena

総合スコア1825

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mae

2015/11/01 09:45

shinemaさん、ご回答ありがとうございます。 pip install mysqlclient を実行したところ、下記のエラーが出てしまいました。 このエラーの対処法を教えていただけませんでしょうか? Command "/usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-UACMux/mysqlclient/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-gysum6-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-UACMux/mysqlclient
shiena

2015/11/01 09:59

コンパイルエラーの場合、大抵はライブラリか開発用パッケージの不足が原因です。 mysql-develとpython-develをインストールして再度試してください。
shiena

2015/11/01 14:34

エラーメッセージをよく見るとちゃんと解決方法が書いていますね。 Try using 'django.db.backends.XXX', where XXX is one of: u'base', u'mysql', u'oracle', u'postgresql_psycopg2', u'sqlite3'
mae

2015/11/03 06:16

mysql-develとpython-develをインストール後に、再度pip install mysqlclientを実行したところ、以下のエラーが出てしましました。 度々ですが、対処法を教えていただけませんでしょうか? Command "/usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-cUGbrJ/mysqlclient/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-RiFkLS-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-cUGbrJ/mysqlclient
shiena

2015/11/03 06:40

python-pipパッケージのpipコマンドは/usr/以下にインストールしようとしますが一般ユーザでは書き込み権限がないため失敗します。 pip install mysqlclient --user このように--userオプションをつけてください。 こうすると~/.local/以下にインストールされます。 また、virtualenvを使うと特定のディレクトリに必要なパッケージをインストールできるので管理が楽になります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問