Pythonトレード環境を構築したいということで、
UbuntuにDjangoをインストールしてみました。
Python環境は、PyenvにAnacondaで構築します。
ここにDjangoをインストールという流れです。
Apache/2.4.18
pyenv 1.1.5
anaconda3-5.0.1
Python 3.6
django-2.1.2
Contents
Pyenvインストール
pyenvでPython環境を構築します。
gitでpyenvをインストールします。
git clone git://github.com/yyuu/pyenv.git ~/.pyenv
bash_profileに設定追加
以下でbash_profileに設定追加します。
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
Anacondaインストール
Anacondaインストーラーをダウンロード
Anacondaのダウンロードサイトにアクセスして、
「Download」ボタンをクリックして
インストーラーをダウンロードします。
Anacondaインストーラーを実行
次にAnacondaをインストールします。
ダウンロードしたインストーラーを実行します。
bash Anaconda3-5.0.1-Linux-x86_64.sh
Anacondaのバージョンチェック
# pyenv version anaconda3-5.0.1
# python -V Python 3.6.3 :: Anaconda, Inc.
condaをアップデートしておきます。
conda update conda
MySQLを使用するための設定
MySQLを使用するためにmysqlclientをインストールします。
mysqlclientにpython3-devとlibmysqlclient-devが必要なので事前にインストールします。
sudo apt-get install python3-dev libmysqlclient-dev
mysqlclientをインストールします。
pip install mysqlclient
Djangoインストール
続いてDjangoをインストールします。
conda install django
インストール確認
python -m django --version 2.1.2
Djangoアプリ作成
サンプルアプリの作成もやってみます。
Djangoアプリ作成のチュートリアルが分かりやすいのでおススメです。
プロジェクトを作成する
プロジェクトを作成したい場所にcdして以下を実行します。
django-admin startproject mysite
実行すると、下記が作成されます。
mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py
プロジェクトを起動する
プロジェクトを起動させてみます。
python manage.py runserver Performing system checks... System check identified no issues (0 silenced). You have 15 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them. October 23, 2018 - 12:38:55 Django version 2.1.2, using settings 'mysite.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
ポート番号を変えて、例えば8080で起動させる場合は下記のようにします。
python manage.py runserver 8080
アプリケーションを作成する
polls(投票)アプリケーションを作成してみます。
python manage.py startapp polls
pollsアプリケーションは以下のような構成です。
polls/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py
データベースの接続設定
MySQLを使いたいので、mysite/settings.py を以下のように設定します。
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mydatabase', 'USER': 'mydatabaseuser', 'PASSWORD': 'mypassword', 'HOST': '127.0.0.1', 'PORT': '3306', } }
言語とタイムゾーンの設定
mysite/settings.pyでは、他に下記を設定しておきます。
LANGUAGE_CODE = 'ja' TIME_ZONE = 'Asia/Tokyo'