イントロ
諸事情あり、DjangoでWebアプリを作ってみようと思い立ちました。
surface laptopで開発を試みて見ようかと思います。
そのため開発環境は、
- OS : Windows10
- CPU : i5
- メモリ : 8GB
です。
書いてる人はどんな人
- 2011年から中堅SIerにてシステム開発している。
- Javaを7年、C#を2年ほど使っている。
- JavaならSpring Boot、C#はMVC5といったMVCモデルでの開発経験あり。
- スクリプト言語は、5年前ぐらいにRuby on RailsでRubyを少し触ったぐらい。
- Pythonは、名前は知っていたぐらい。
Pythonをインストール
python Japanのサイトにパッケージのダウンロードから手順が記載されているので、
こちらを参考に進めます。
手順に従って問題なくインストール完了です。ここまで10分かからなかったぐらいです。
インストールの確認
Pythonの実行方法に従って、コマンドラインで確認をします。
C:\Users\xxx>py
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
問題なく最新バージョンのPythonがインストールされているようです。
そのまま対話モードが実行されているので、お決まりのあれをやってみたいと思います。
>>> msg = "Hello World!"
>>> print(msg)
Hello World!
Pipenvのインストール
こちらの記事を参考にさせていただきました。
Pythonのインストールも終わったし、IDEを探そうと思ったのですが、
その前に必要なものがあることに気が付きました。
Pythonで開発するときに,プロジェクト毎のパッケージ管理や仮想環境の構築を簡単に自動で行ってくれるツール
Pipenvとは
とのこと。
JavaでいえばGradleやMaven、C#でいえばNuGetが該当しそうです。
参考にさせていただいたこちらに沿って進めていきます。
※あとで気づきましたが、以下専用のフォルダを切ってそのなかで作業をした方が良さそうです。
後続でDjangoのプロジェクトを作成するのですが、すでに他のフォルダやファイルがある中で作ってしまうと、見通しが悪いです。
コマンドライン上で以下を実行します。
pip install pipenv
実行完了後に
You are using pip version 19.0.3, however version 19.1.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
が出てきました。
「もっと新しいバージョンがあるから更新したらどうだい?」
ということのようです。
- Pythonのpipのバージョンを9から10にアップグレードするとpipが使えなくなるので修正した
- pip install –upgrade pipでpipのバージョンを上げるとImportError: cannot import name mainで動かなくなった話
少し確認するとversionを9から10に挙げた時に動かなくなったという話はありますが、
今回は、メジャーバージョンアップではなくマイナーバージョンアップなので、更新をしておきます。
python -m pip install --upgrade pip
Collecting pip
Downloading https://files.pythonhosted.org/packages/5c/e0/be401c003291b56efc55aeba6a80ab790d3d4cece2778288d65323009420/pip-19.1.1-py2.py3-none-any.whl (1.4MB)
100% |████████████████████████████████| 1.4MB 191kB/s
Installing collected packages: pip
Found existing installation: pip 19.0.3
Uninstalling pip-19.0.3:
Successfully uninstalled pip-19.0.3
Successfully installed pip-19.1.1
ということでpip-19.1.1になりました。
次に仮想環境の作成とのことなので進めます。
pipenv --python 3.7.3
Creating a virtualenv for this project…
Pipfile: C:\Users\xxx\Pipfile
Using C:/Users/xxx/AppData/Local/Programs/Python/Python37/python.exe (3.7.3) to create virtualenv…
[== ] Creating virtual environment...Already using interpreter C:\Users\xxx\AppData\Local\Programs\Python\Python37\python.exe
Using base prefix 'C:\\Users\\xxx\\AppData\\Local\\Programs\\Python\\Python37'
New python executable in C:\Users\xxx\.virtualenvs\xxx-HlZFMEvt\Scripts\python.exe
Installing setuptools, pip, wheel...
done.
Running virtualenv with interpreter C:/Users/xxx/AppData/Local/Programs/Python/Python37/python.exe
Successfully created virtual environment!
Virtualenv location: C:\Users\xxx\.virtualenvs\xxx-HlZFMEvt
Creating a Pipfile for this project…
そもそも仮想環境って?と気になったのでこちらで確認をしました。
要するに「異なるバージョンのPythonやDjangoを使い分けたい場合に実行環境を分ける必要がある」ので、
仮想環境として用意する、ということのようです。
パッケージのインストールは、必要に応じて進めればいいと思うのでDjangoのインストールに進みたいと思います。
Djangoのインストール
こちらの記事を参考にさせていただきました。
Djangoインストールを進めます。
pip install django
Collecting django
Downloading https://files.pythonhosted.org/packages/eb/4b/743d5008fc7432c714d753e1fc7ee56c6a776dc566cc6cfb4136d46cdcbb/Django-2.2.2-py3-none-any.whl (7.4MB)
|████████████████████████████████| 7.5MB 211kB/s
Collecting sqlparse (from django)
Downloading https://files.pythonhosted.org/packages/ef/53/900f7d2a54557c6a37886585a91336520e5539e3ae2423ff1102daf4f3a7/sqlparse-0.3.0-py2.py3-none-any.whl
Collecting pytz (from django)
Downloading https://files.pythonhosted.org/packages/3d/73/fe30c2daaaa0713420d0382b16fbb761409f532c56bdcc514bf7b6262bb6/pytz-2019.1-py2.py3-none-any.whl (510kB)
|████████████████████████████████| 512kB 211kB/s
Installing collected packages: sqlparse, pytz, django
Successfully installed django-2.2.2 pytz-2019.1 sqlparse-0.3.0
django-2.2.2がインストールされました。
そのままプロジェクトの作成をしたいと思います。
django-admin startproject firstproject
すぐ終わるので、
cd firstproject
で作成したプロジェクトに移動後に起動をさせます。
python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
June 22, 2019 - 14:22:02
Django version 2.2.2, using settings 'firstproject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
http://127.0.0.1:8000/
で起動しているのでアクセスすると、無事「The install worked successfully! Congratulations!」が表示されました。
次回は、IDEの導入をしてみたいと思います。