CentOS7でDjango開発環境を作成してみた

Web開発

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/

タイトルとURLをコピーしました