LoginSignup
0
3

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-03-21

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

文字コード回り

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;

全ての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をつける

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

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3