Python3とDjango1.8の構築メモ
2017/08/20
特に理由はなく最近Pythonを弄ってます。
Pythonで一番有名なフレームワークであるDjangoを使おうと思い、Webで情報を探したところ古いバージョンだったり、自分の使いたい環境じゃないのでメモとして残します。
ただ、PythonもDjangoも素人なので、間違った設定も含まれると思うのでご注意ください。
目次
環境
構築する環境は以下の通りです。
・CentOS 6.5 (x86_x64)
・Python 3.4.3
・Django 1.8.3
・mod_wsgi 4.4.13
Python3のインストール
CentOS6.5にはデフォルトでPythonがインストールされていますが、バージョンが2系のためPython3をインストールします。
必要なモジュールをyumで入れておきます。
1 2 |
yum -y install wget gcc zlib-devel gdbm-devel readline-devel httpd-devel yum -y install sqlite-devel openssl-devel tk-devel bzip2-devel |
Python3をダウンロードしてインストールします。
1 2 3 4 5 6 |
cd /usr/local/src wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz tar zxvf Python-3.4.3.tgz cd Python-3.4.3 ./configure --enable-shared make && make altinstall |
インストールが完了したらシンボリックリンクを張ります。
1 2 |
ln -s /usr/local/bin/python3.4 /usr/local/bin/python3 ln -s /usr/local/lib/libpython3.4m.so.1.0 /lib64/ |
pipのインストール
Djnagoはpipからインストールするのでpipが使えるようにします。
1 2 3 4 |
ln -s /usr/local/bin/easy_install-3.4 /usr/local/bin/easy_install easy_install pip pip install --upgrade pip |
virtualenvのインストール
virtualenvを使う場合は入れておきましょう。(今回は使いません)
1 2 |
pip install virtualenv pip install virtualenvwrapper |
virtualenvwrapperの設定として.bashrcに以下を追記します。
1 2 3 4 5 6 |
vi ~/.bashrc *************************************** if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh fi |
virtualenvwrapper.shの「VIRTUALENVWRAPPER_PYTHON」をPython3に変更します。
1 2 3 |
vi /usr/local/bin/virtualenvwrapper.sh *************************************** VIRTUALENVWRAPPER_PYTHON="$(command \which python3)" |
Djangoのインストール&設定
Djangoを配置する場所を作成しておきます。
1 2 |
cd /home mkdir django |
pipからDjnagoをインストールします。
1 |
pip install django |
Djangoプロジェクトを作成します。
1 2 3 |
cd django django-admin startproject pro01 #pro01は任意のプロジェクト名 cd pro01 |
マイグレーションとユーザーの作成をしておきます。
1 2 |
python3 manage.py migrate python3 manage.py createsuperuser |
Djangoのテスト
1 |
python3 manage.py runserver ipaddress:port |
上手くページの表示が出来たらDjangoの設定を行います。
■setting.pyの設定
1 2 3 4 5 6 7 8 |
vi /home/django/pro01/pro01/setting.py *************************************** LANGUAGE_CODE = 'ja-JP' TIME_ZONE = ‘Asia/Tokyo’ PROJECT_ROOT = os.path.normpath(os.path.dirname(__file__)) STATIC_URL = '/static/' STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static') |
■wsgi.pyの設定
1 2 3 4 |
vi /home/django/pro01/pro01/wsgi.py *************************************** import sys sys.path.append('/home/django/pro01') |
設定後にcollectstaticをします。
1 |
python3 manage.py collectstatic |
mod_wsgiのインストール
WebサーバーとしてApacheを使いたいので、mod_wsgiをインストールします。
1 2 3 4 |
wget https://github.com/GrahamDumpleton/mod_wsgi/archive/4.4.13.tar.gz tar zxvf 4.4.13.tar.gz ./configure --with-apxs=/usr/sbin/apxs --with-python=/usr/local/bin/python3 make && make install |
■mod_wsgiの設定
1 2 3 4 5 6 |
/etc/httpd/conf.d/wsgi.conf *************************************** LoadModule wsgi_module modules/mod_wsgi.so WSGIScriptAlias / /home/django/pro01/pro01/wsgi.py Alias /static /home/django/pro01/pro01/static |
とりあえず繋がるようになるはずなので、もし、繋がらない場合は以下を確認。
・SELINUXが無効になっているか
・iptablesでアクセスが許可されているか
・ディレクトリのアクセス権
スポンサーリンク
関連記事
-
Developers Summit 2016に行ってきた。
去年の夏に続いて、エンジニアの祭典デブサミ2016に参加してきました。 目次 デ …
-
はじめまして
気になった事や試した事を残したくてブログをはじめました。