AWSはeb好きみたいです。
だけどeb使ったことなかったのです
http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/create-deploy-python-apps.html
にそって実際に作業してみた記録です
全部できるまで続投する覚悟
ebでPython環境構築してみた Flaskアプリケーションデプロイ準備編
ebでPython環境構築してみた Flaskアプリケーションデプロイ編
###前提条件
1.Python 2.7 または 3.4
2.ご使用の Python のバージョンに応じた pip ユーティリティ。これは、アプリケーション環境のセットアップ方法を Elastic Beanstalk が判断できるように、プロジェクトの依存関係をインストールし一覧表示するために使用されます。
3.virtualenv パッケージ。これは、アプリケーションの開発とテストに使用する環境を作成するために使用されます。これにより、アプリケーションに必要ない余分なパッケージをインストールすることなく、その環境を Elastic Beanstalk がレプリケートできます。
4.awsebcli パッケージ。Elastic Beanstalk によるデプロイに必要なファイルを使用して、アプリケーションを初期化するのに使用されます。
5.正常に機能する ssh インストール。これは、デプロイの調査またはデバッグが必要なときに、実行中のインスタンスに接続するために使用されます。
とのことです。
簡単に言うと
- pipが使える
- pythonは2.7/3.4使ってる
- virtualenv導入済み
- awscliコマンド使える
- ssh使えるよね
ってことです。
僕はMac使ってます。
###仮想環境の設定
ドキュメント以外に参考にさせてもらいました
参考:Pythonの仮想環境を構築できるvirtualenvを使ってみる
virtualenv -p python2.7 /tmp/eb_python_app
Running virtualenv with interpreter /Users/****/.pyenv/shims/python2.7
New python executable in /Users/yuki/eb_test_app/bin/python
Installing setuptools, pip, wheel...done.
ls /Users/***/eb_test_app/
bin lib
include pip-selfcheck.json
環境のインストールが出来ました。
###仮想環境の起動
作成したディレクトリに移動します
cd /Users/***/eb_test_app/
pwd
/Users/****/eb_test_app
source bin/activate
(ディレクトリ名)% とコンソールの行頭に追加されれば起動しています。
###eb用にPythonプロジェクトを設定する
pwd
/Users/****/eb_test_app
pip freeze >requirements.txt
pip freeze
コマンドで現在インストールされているパッケージを表示します。
それをebが読み込むテキスト「requirements.txt」に書き込むことでebに環境を伝えることができます。
現状は何もインストールされていないと思われるのでテキストを見ても何も出てこないと思います。
例
pip install Djangp
pip freeze
Django==1.9.5
こんな感じに。何かインストールされているとその情報が出力されます。
以上が開発環境の作り方編