村長Xの奮闘記

エンジニアになりたいエンジニアです

Djangoの環境設定で行き詰った話。

まず、お久しぶりです。

約1ヶ月ぶりの更新です。えぇ、予想どおり三日坊主でした。地味に改名してます。
何もしてないわけでなく、逆にこの1ヶ月はものすごい濃い1ヶ月でした。
1ヶ月前の僕は鼻水垂らしながらWebフレームワークってなぁに~でしたが、今ではこんな便利なものがあるのか!と興奮しております。
と、いうわけでなぜかは分かりませんがPythonを触ってみたくなり、Djangoも触れてみよう!ということでいろいろ設定したんですが…

Djangoの環境設定で行き詰った話。

Python,Djangoのインストールを初めて全部自分で行いました。
テンションあげあげでやっぱインストールするならバージョンは超最新がイイッショー!!ってなって、
- Python 3.4.3
- Django 1.8.2
をインストールしたんです。
そして、DBの接続設定時に、MySQLを使いたくなり、いろいろと調べてみたら・・・
どうやらPython3.xはPython2で大活躍だったらしいpython-mysqlというものが使えないらしく、いろいろと調べたら
mysql-connector-python というのがよさそうだなと思い、さっそくインストール。わくわく。

エラー、エラー、エラー。

DATABASES = {
    'default': {
        'ENGINE': 'mysql.connector.django',
        'NAME': 'beginner',
        'USER': 'bgnuser',
        'PASSWORD': 'bgn1021',
        'HOST': '',
    }
}

ふむふむ、ENGINEに mysql.connector.django と書くわけね。
よし!python manage.py migrate!!
エラー。

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

こういう風に書けと…よしよし、再度ENGINEの記述を編集して python manage.py migrate!!

エラー。

くー!!!!!!
mysql-connector-pythonのバージョンがだめなのか?(この時点では1.2.3でした)よーしアップグレードだ!!
エラー。
(この時点では2.0.3)このあたりからだんだんとイライラし始める。
しかし、なんとしてでも動かしたいがために、今日という今日は本気を出して、英語のサイトも毛嫌いすることなく読みに読み漁りました。

Django1.8のバグらしい。

1.8のバグのようですね。

MySQL Bugs: #76752: Connector/Python Django backend doesn't work with Django 1.8

また、自分と全く同じ人も発見しました。

www.marinamele.com

It’s because you the mysql-connector-python doesn’t support Django 1.8 yet. But don’t worry, there’s an open ticket and they have already found a solution. Try: $ pip install git+https://github.com/multiplay/mysql-connector-python To install the development version of their package :-)

ほうほう、やっぱりバグですやん!、でも、心配しないで!と書かれている。
このパツキンチャンネーの言う通りに従います!!
エラー
もう・・・どうすればええんですか・・・

最終的に、Django1.7にしました…

なんとも悔しい結果ですが、もう自分の知識ではどうしようも無く、ここでポイっとしてしまうのもあれなんで、おとなしくバージョンを1.7にしました。
こればっかりは仕方ない… でも、1.7にしたら無事動いたので、やっぱり1.8のバグなんですね。
いろいろと勉強になったので、結果楽しかったです(3時間くらい格闘してたけど)
それでは!

チラ裏

最近、Atom使い始めました。
賛否両論あると思うんですけど、個人的にはsublimetextより好きですね。買ってくだせぇ~!のポップアップもでませんしね。