Help us understand the problem. What is going on with this article?

Djangoプロジェクト環境構築

自分のローカル環境構築メモです。

環境

  • OS: macOS Catalina
  • Python 3.7.1
  • venv
  • Django

pyenv, Python インストール

macOSだとPythonがプリインストールされていますが、
バージョンが2系なので、pyenvから3系をインストールします。
https://github.com/pyenv/pyenv

## まず pyenvをインストール
$ brew install pyenv

.zprofile(bash なら.bash_profile) 編集

以下、追加します

eval "$(pyenv init -)"

pvenvコマンドの有効化

編集済の.zprofileをロードし、pvenvコマンドを有効化します。

$ source ~/.zprofile

pvenvからPython 3.7.1インストール

  • Python 3.7.1インスール
$ pyenv install 3.7.1
  • Python 3.7.1をデフォルトバージョンに設定
$ pyenv global 3.7.1

Djangoプロジェクト環境を仮想化する

ローカルグローバル環境に余計なパッケージが含まれないよう(プロジェクト単位でのパッケージ管理)
仮想環境の上にDjango関連パッケージをインストールします。

仮想環境作成はvenvモジュールを使います。

venv仮想環境構築

## プロジェクトディレクトリ作成
$ mkdir hogeproject
$ cd hogeproject

## venv 仮想環境作成
$ python -m venv myhogeenv

## 作成されたディレクトリ確認するとこんな感じ
$ pwd
/xxxx/xxxx/hogeproject

$ tree -L 3
.
└── myhogeenv
    ├── bin
    │   ├── activate
    │   ├── activate.csh
    │   ├── activate.fish
    │   ├── easy_install
    │   ├── easy_install-3.7
    │   ├── pip
    │   ├── pip3
    │   ├── pip3.7
    │   ├── python -> /Users/xxxx/.pyenv/versions/3.7.1/bin/python
    │   └── python3 -> python
    ├── include
    ├── lib
    │   └── python3.7
    └── pyvenv.cfg

仮想環境起動

## 起動
$ source myhogeenv/bin/activate

## 起動完了したらプロンプトに(myhogeenv)がつく。
(myhogeenv) $

Djangoインストール

venv仮想環境が起動されている状態でDjangoをインストールします。
(Djangoはpipでインストール)

## Django version記載のrequirements.txtを配置する
(myhogeenv) $ echo "Django~=2.2.4"  > requirements.txt

## 配置済のrequirements.txt ディレクトリ確認
(myhogeenv) $ pwd
/xxxx/xxxx/hogeproject

(myhogeenv) $ tree -L 3
.
├── myhogeenv
│   ├── bin
│   │   ├── activate
│   │   ├── activate.csh
│   │   ├── activate.fish
│   │   ├── easy_install
│   │   ├── easy_install-3.7
│   │   ├── pip
│   │   ├── pip3
│   │   ├── pip3.7
│   │   ├── python -> /Users/xxxx/.pyenv/versions/3.7.1/bin/python
│   │   └── python3 -> python
│   ├── include
│   ├── lib
│   │   └── python3.7
│   └── pyvenv.cfg
└── requirements.txt

## Django インストール
(myhogeenv) $ pip install -r requirements.txt
enghst
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away