Cloud9で+Python(2.7)+Flask+SQLAlchemy+MySQL環境セットアップ

More than 1 year has passed since last update.

Cloud9にデフォで入っているPython2.7を使います。(事情あってあえて3を使いません)

MySQLもデフォで入っているやつを使います


まずはインストール

$ sudo pip3 install virtualenv

$ sudo pip install flask
$ sudo pip install flask-sqlalchemy
$ sudo pip install flask-wtf
$ sudo apt-get update
$ sudo apt-get install python-msqldb
$ sudo easy_install mysql-python

https://gist.github.com/gothedistance/ab3f16ac7f9fff73738b53c7e7a5d1e5

https://community.c9.io/t/python-mysqldb-import/10284

http://yuizho.hatenablog.com/entry/2013/06/26/012044


MySQL-CTLでMySQLに接続


起動

$ mysql-ctl start


ログイン

$ mysql-ctl cli


ストップ

$ mysql-ctl stop

http://qiita.com/ao_love/items/31b660ab53bee959c940


文字コード回り

Python(2.7)はこれが一番面倒でした。Python3はデフォでutf8なのでこの作業は必要ありません


DBデフォルト文字コード確認

$ show variables like 'character%';


DBデフォルト文字コード変更

$ alter database DB名 default character set utf8;

$ set character_set_server = utf8;

http://interu.hatenablog.com/entry/2013/11/19/120322

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1438139079


テーブルに対して文字コード変更

$ alter table テーブル名 default character set utf8;

http://kzworks.at.webry.info/200903/article_14.html


全てのpythonファイルに文字コード指定

pythonファイルの冒頭に追加

#!/usr/bin/env python

# -- coding: utf-8 --

http://uxmilk.jp/8851

http://osksn2.hep.sci.osaka-u.ac.jp/~taku/osx/python/encoding.html


全てのpythonファイルで文字列を扱う際は頭にuをつける

http://stackoverflow.com/questions/38494772/flask-unicodedecodeerror


DB URI設定

pythonファイル冒頭でimport osした後

servername : os.getenv('IP')

password:''(空パスワード)

username: os.getenv('C9_USER')

dbport:3306

database: つくったDB名

http://kzky.hatenablog.com/entry/2015/07/05/Flask-SQLAlchemy

https://community.c9.io/t/setting-up-mysql/1718

http://stackoverflow.com/questions/33790932/cloud9-connecting-a-mysql-database-to-python