ホーム >  Python >  Vgrant(CentOS7)にAnaconda+Django+Apache環境を作る(Anaconda・Djangoインストール)

投稿日:   |  最終更新日:

Vgrant(CentOS7)にAnaconda+Django+Apache環境を作る(Anaconda・Djangoインストール)

Python

Vagrantで作ったCentOS7環境にAnaconda・Djangoをインストールします。最終的にApacheで動かしたいと思います。

Anacondaを使う理由

Anacondaは代表的なPythonのライブラリが入っています。Anacondaをインストールすると、環境構築が非常に楽になります。もちろんDjangoもインストールできます。機械学習に使えるみたいですが、今の所、真価は不明です。

なぜpyenv経由でAnacondaをインストールするか?

pyenvは複数バージョンのPythonを切り替えられるためのツールです。様々なサイトでは、pyenvありきでAnacondaをインストールする手順を説明しています。何故かというと、MacやLinuxのAnacondaユーザは、pyenvを併用しないと上手に利用できない環境になっています「pyenvの機能を使いたいから使う」ではなく「Anacondaの副作用を抑えるために使う」という理由でpyenvを経由します。

準備

Vagrantでゲスト環境(仮想環境)を作ります。

①Virtualboxをインストールします。Virtualboxのインストールまでで結構です。

VirtualBoxをインストールする for Ubuntu

②Vagrantをインストールします。centos7環境を作りますので、Vagrantのインストールのみ済ませてください。

Vagrantをインストールしてテスト環境を作る for Ubuntu

Vagrantのcentos7環境の詳細を調べる場合は以下のように確認します。

VagrantのCentOS7の環境を確認(lsb_releaseコマンドなど)

③バージョン管理ツールのpyenvインストールします。Anacondaインストールに使います。

VagrantのCentOS7にバージョン管理ツールをインストール(pyenv)

ホスト環境

OS Ubuntu 16.04.1 LTS 64bit
Virtualbox 5.1
Vagrant 1.9.5

ゲスト環境

OS CentOS 7.1.1503
pyenv 1.1.3-5-g7dae197
Anaconda 3-4.3.0

Vagrantへログイン

①【ホスト環境】端末を開き、前回構築したVagrantのディレクトリまで移動します。

cd vagrant/django_apps/

②【ホスト環境】仮想マシンを起動します。

vagrant up

③【ホスト環境】ログインします。

vagrant ssh

Anacondaインストール

pyenvがインストール済みであることが前提です。

①rootにログインします。

su -
パスワード:vagrant

②インストールする可能なパッケージは、以下のようにリストアップできます。

pyenv install --list | grep anaconda

③好みのバージョン名をコピーしてインストールします。

# 新規インストール。
pyenv install anaconda3-4.3.0
# 新規インストール後、このコマンドを実行する必要があるそうです。
pyenv rehash
# グローバルに使用するPythonバージョンの指定
pyenv global anaconda3-4.3.0

④インストールしたバージョンのリストを確認します。

pyenv version

anaconda3-4.3.0 (set by /usr/local/bin/pyenv/version)

Pythonのバージョンを確認します。

python -V

Python 3.6.0 :: Anaconda 4.3.0 (64-bit)

⑤インストールが完了したらPATHの設定を行います。

echo 'export PATH="$PYENV_ROOT/versions/anaconda3-4.3.0/bin/:$PATH"' >> ~/.bashrc
source ~/.bashrc

⑥インストールしたAnacondaに付随しているcondaをアップデートしておきます。

conda update conda

Djangoインストール

Pythonのパッケージ管理にはpipが使われますが、anacondaを利用する場合はcondaコマンドでパッケージ管理を行います。もちろんpipでもインストールできますが、せっかくなのでcondaを使います。

①Djangoをインストールします。

conda install -c https://conda.anaconda.org/anaconda django
The following NEW packages will be INSTALLED:

    django:    1.11.3-py36_0 anaconda

The following packages will be UPDATED:

    conda:     4.3.8-py36_0           --> 4.3.23-py36_0 anaconda

The following packages will be SUPERCEDED by a higher-priority channel:

    conda-env: 2.6.0-0                --> 2.6.0-0       anaconda

②djangoがインストールされているか確認します。

python -m django --version
1.11.3

firewalld, SELinux停止

本番用ではfirewallを使うべきですが、開発環境で確認する時は停止しています。

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

Djangoプロジェクト生成

①以下のように、Djangoプロジェクトを生成するディレクトリを用意します。

mkdir /home/python
cd /home/python

②プロジェクトを生成します。

django-admin startproject pj1

簡易Webサーバ起動

①簡易サーバを起動します。

python pj1/manage.py runserver 0.0.0.0:8000

②ホスト環境のブラウザから、以下のURLを入力します。

http://192.168.33.15:8000

※「192.168.33.15」は、vagrantに設定したipアドレスです。

Vagrantからだと、以下のように「DisallowedHost at…」とでます。

③setting.pyを編集してアクセス権を与えます。

vi pj1/settings.py

以下のように編集します。

ALLOWED_HOSTS = ['*']

①再度簡易サーバを起動します。

python pj1/manage.py runserver 0.0.0.0:8000

以下のような表示になったことを確認します。

トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター、フロントエンドエンジニア 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 20

最近の投稿
人気記事
カテゴリー
広告