「venv」はPython3.3からの標準機能として使われ、別途ソフトウェアをインストールすることなく簡単に仮想環境を構築・管理するツールとなります。
今回は、CentOS8環境でPythonをインストールし、venvを利用した「Django」の構築手順をまとめました。
Djangoを構築した環境は以下となります。
$ cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core)
$ python3 -V Python 3.6.8
Python「venv」でDjango構築(CentOS8環境下)
まずは、venvプロジェクトを作成するために「venv」というプロジェクトフォルダを作成します。
$ mkdir venv $ $ ll total 8 drwxr-xr-x 2 root root 4096 Mar 22 11:33 venv
仮想環境作成
次に作成した「venv」フォルダは以下で「venv_app」という名前で仮想環境を作成します。
$ python3 -m venv venv_app
環境構築が成功すると「venv_app」フォルダが作成されます。
「venv」仮想環境にアクセスする
上記で、Pythonの仮想環境を作成したので実際に仮想環境にアクセスします。
$ cd venv_app/bin/
「venv_app」内の「bin」フォルダ内で「active」コマンドを実行します。
成功すると以下のようにプロンプトが(venv_app)と変更されます。
$ source activate (venv_app) $
仮想環境から出る場合は「deactivate」コマンドを実行します。
(venv_app) $ deactivate $
「venv」仮想環境で「Django」インストール
Pythonで仮想環境を構築した後は、仮想環境かで「Django」をインストール・起動します。
Djangoのインストールは「pip」コマンドを実行します。
(venv_app) $ pip install django
インストールが成功した場合は以下でバージョン確認をします。
今回はバージョン指定はしていないので最新バージョンがインストールされています。
(venv_app) $ python3 -m django --version 3.0.4
Djangoプロジェクト作成
次にDjangoのプロジェクトを作成します。
プロジェクト名は「private_diary」とします。
(venv_app) $ django-admin startproject private_diary
プロジェクト作成が成功すると以下のようにフォルダ内にファイルが作成されます。
(venv_app) $ tree private_diary/ private_diary/ |-- manage.py |-- private_diary |-- asgi.py |-- __init__.py |-- settings.py |-- urls.py |__ wsgi.py 1 directory, 6 files (venv_app) $
Djangoにアクセスする「settings.py」を編集
Django起動しても以下の設定をしないとアクセスができません。
「settings.py」で指定の行を編集します。
# vim djangotest/settings.py
「ALLOWED_HOSTS」の行で、[] → [“*”]へ変更します。
# SECURITY WARNING: don't run with debug turned on in production! DEBUG = True ALLOWED_HOSTS = ["*"]
編集は「i」コマンドで、保存して抜ける場合は「Esc」を押して「:wq」となります。
Djangoで使用するポート:8000を開放
次にDjangoで利用するポート番号「8000」を通信できるようにfirewallコマンドで開放します。
firewall-cmd --add-port=8000/tcp --zone=public --permanent
ポート「8000」番が解放されたことを以下で確認します。
# firewall-cmd --list-all public (active) target: default icmp-block-inversion: no interfaces: eth0 sources: services: cockpit dhcpv6-client http postgresql ssh ports: 8000/tcp 80/tcp 5432/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
Django起動
上記までの設定ができれば、最後にDjangoを起動します。
起動するアプリ名は「diary」とします。
(venv_app) $ cd private_diary/ (venv_app) $ python3 manage.py startapp diary
起動後は以下の世に「diary」ふぉるだが作成され、配下にファイルも作成されています。
(venv_app) $ tree private_diary/ private_diary/ |-- db.sqlite3 |-- diary | |-- admin.py | |-- apps.py | |-- __init__.py | |-- migrations | | mqq __init__.py | |-- models.py | |-- tests.py | |__ views.py |-- manage.py |__ private_diary |-- asgi.py |-- __init__.py |-- __pycache__ | |-- __init__.cpython-36.pyc | |-- settings.cpython-36.pyc | |-- urls.cpython-36.pyc | |__ wsgi.cpython-36.pyc |-- settings.py |-- urls.py |__ wsgi.py 4 directories, 18 files (venv_app) $
上記が確認できた後は、「runserver」コマンドでDjangoを起動します。
(venv_app) $ python3 manage.py runserver 0.0.0.0:8000
対象のアドレスにアクセスし、問題なくDjangoのページが表示されれば完成です。
CentOS8においてのPython(venv)仮想環境におけるDjangoの構築手順は以上となります。
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す