DjangoでWebアプリケーションを開発したかったので、Vagrantで作成したVM(CentOS7)にDjango環境構築しました。
まず、環境はこんな感じ。
HostOS: Windows10
VM: CentOS7Django
VagrantでVMの作成
まず初めに、VagrantでVM(CentOS7)を作成する。
$ vagrant init
$ vi Vagrantfile
Vagrantfileの中はこんな感じにしました。
Vagrant.configure("2") do |config|
config.vm.box = "centos/7"
config.vm.box_version = "1905.1"
config.vm.network "private_network", ip: "192.168.XX.XX"
config.vm.provider "virtualbox" do |vb|
vb.memory = "4096"
end
config.vm.provision "shell", inline: <<-SHELL
yum update
SHELL
end
以下、コマンドでVMを起動する。
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'centos/7'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'centos/7' version '1905.1' is up to date...
...
Django環境の構築
SSHでVMにログインする。
$ vagrant ssh
以下より、rootユーザにて操作。
$ sudo su
まず、初めに複数のpythonのversionを入れたいので、pyenvをインストールする。
関連ライブラリをインストールする。
# yum -y install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel
gitのインストール。
# yum -y install git
pyenvをgit cloneしてくる。
# git clone https://github.com/pyenv/pyenv.git ~/.pyenv
.bash_profile
に以下追記する。
# vi ~/.bash_profile
export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
.bash_profile
を読み込んで設定を反映する。
# source ~/.bash_profile
pyenvコマンドが実行できればOK。
# pyenv
pyenv 1.2.17-2-ga8ca63f
Usage: pyenv <command> [<args>]
...
現在(2020/03/26):最新のpythonをインストールする。
# pyenv install 3.8.2
Downloading Python-3.8.2.tar.xz...
-> https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tar.xz
Installing Python-3.8.2...
Installed Python-3.8.2 to /root/.pyenv/versions/3.8.2
CentOS7に入っているdefaultのpython versionは、2.7.5
!
# python --version
Python 2.7.5
インストールしたpythonをセットする。pythonのversionが、3.8.2
に変更されていればOK。
# pyenv global 3.8.2
# pyenv rehash
# python --version
python3.8.2
が使えるようになったので、virtual envで仮想環境を作成して、環境を分けてみる。
# pwd
/home/vagrant/test
# mkdir test
# cd test/
# python -m venv test_project
# ls
test_project
# source test_project/bin/activate
最新のDjangoをインストールする。
(test_project) # pip install Django==3.0.4
pipもupgradeしておく!
(test_project) # pip install --upgrade pip
※ 補足
virtual envから抜けるには、以下コマンド。
(test_project) # deactivate
以上で完了。
参考
https://qiita.com/ksugawara61/items/ba9a51ebfdaf8d1a1b48
https://www.python.org/downloads/
https://www.djangoproject.com/download/