🦔

【Django】Django環境構築手順メモ(初心者)

2023/03/28に公開

前提

  • 友人との開発でDjangoのプロジェクト作成を担当
  • 友人のPythonのバージョンは3.9.9
  • 自分はPython未インストール
  • 自分の環境を汚さずに相手のバージョンに合わせたい(PC本体には最新版Pythonをインストールしたい)
  • 使用しているOS: Ubuntu 23.04

手順

  1. Pythonをインストールする
  2. pyenvをインストールする
  3. Djangoをインストールする
  4. Djangoのプロジェクトを作成する
  5. gitignoreに追記する

Pythonインストール

デフォルトとなるPythonのインストールを行う

sudo apt install python-is-python3

pyenvインストール

pyenvでバージョン管理を行う

↓公式

https://github.com/pyenv/pyenv

インストール

sudo apt install build-essential libffi-dev libssl-dev zlib1g-dev liblzma-dev libbz2-dev libreadline-dev libsqlite3-dev libopencv-dev tk-dev

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

echo '' >> ~/.bashrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc

pyenvでpythonの3.9.9をインストール

pyenv install 3.9.9

Djangoのプロジェクトを作成するディレクトリに3.9.9を指定する

cd ~/path/<特定ディレクトリ>

pyenv local 3.9.9

venvの設定

パッケージ管理(pip)もプロジェクトごとに別にしたいので特定のディレクトリにpython仮想環境を作成する(ここでは.envという名前で仮想環境用のディレクトリを作成する)

python -m venv .env

venvを有効化するとき

source .env/bin/activate

無効化

deactivate

Djangoインストール

公式

https://docs.djangoproject.com/ja/4.2/topics/install/#installing-official-release

インストール

python -m pip install Django

Djangoのプロジェクト作成

プロジェクトを作成したいディレクトリ内でconfigという名前のプロジェクトを作成

プロジェクトの名前をconfigにした理由はそうしてる人が多いから

django-admin startproject config .

gitignoreについて

githubでコードの管理をしている

.python-version.gitignoreに追記

pyenvで特定のバージョンをインストールしたときに作成されるファイル

他のメンバーは関係ないファイルなのでgitignoreに追記した

最後に

gitのリポジトリをpublicにしようと思っていたが、DjangoのSECRET_KEYをそのままpushしてしまったからprivateに変更

  1. 環境変数をどう管理するかを決めていく
  2. Githubの履歴を消す

参考サイト

https://github.com/pyenv/pyenv

https://zenn.dev/hr0t15/articles/8ae3564bde2cce

https://qiita.com/minarai/items/297aec329f2f029bee10

https://cod-sushi.com/python-venv-usage/

https://docs.djangoproject.com/ja/4.2/topics/install/#installing-official-release

https://qiita.com/F_clef/items/9d079d0164c2ea9251ab

GitHubで編集を提案

Discussion