投稿日:2019年11月7日
Python・Django初心者向けにWindowsへのpythonのインストール、Djangoの開発環境の構築方法、その他おすすめのツールについて解説していきます。
WindowsはLinuxやMacに比べて開発環境の構築が少しだけ複雑になっています。
初めに話しておくと、もしこれからプログラミング特にDjangoやRubyOnRailsなどでのWeb開発をしていく方には、僕はMacやLinux(おすすめはUbuntu)を使うことをおススメしています。
しかし、もちろんWindowsでもしっかり環境を整えれば快適に開発はできるので、Windowsを使い続けたい方も心配しないでください。
この記事ではWindowsでPythonのWebフレームワークDjangoをつかった開発ができるまでの環境の構築方法についてしっかり解説します。
プログラミングの記事などに書いてあるコマンドはたいていBashというもので実行される前提で書いてあります。
$ ls
$ cd Documents
$ mkdir sample_dir
このBash、MacやLinuxではデフォルトで普通に使えるのですが、Windowsでは使えません。コマンドプロンプトは完全に別物です。
『WIndowsにもコマンドを打てるコマンドプロンプトがあるんだからそれでいいじゃん!!』と思う方もいるでしょう。
もちろんコマンドプロンプトで十分開発はできます。
しかし、例えば以下のようなコマンド
$ ls
このコマンドはBashで打つとその場所のすべてのディレクトリを表示してくれるのですが、Windowsのコマンドプロンプト打つと
>ls
'ls' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
と、『そんなコマンドないよ!』と返されてしまいます。
DjangoやRubyOnRailsのようなWebアプリケーションのフレームワークの解説はほとんどBashを前提に書かれています。(『ターミナルを起動して...』のように書いてある場合には間違いなくBashでしょう)
いろんな人や本が解説してくれていてもコマンドが正しく認識しなくては、そこで躓いてしまいますよね。
ということで、僕は初心者の方にはBashをオススメしています。
WindowsでBashを使う方法はいくつかあるのですが、今回はGitに付属しているGitBashというものをインストールしてみましょう。
この記事で解説するのはGitBashだけですが、Git自体もWeb開発には必須のツールなので使い方は勉強しておきましょう!
GitBashはGitの公式サイトのインストーラからGitをインストールする際に一緒にインストールされます。
以下のサイトにアクセスしましょう。
サイトトップの中央部、『Download』ボタンでインストーラがダウンロードできます。
ダウンロードできたらファイルを開きましょう。インストーラが起動します。
インストールはほとんどデフォルトの設定のまま進んでいいのですが『Configuring line encoding conversions』という設定の時だけ、デフォルトの設定から変更して『Checkout as-is , commit as-is』にチェックしてください。
もしデスクトップにショートカットを作りたい場合には『Select Components』という設定の時に『Additional icons』の『On the Desktop』にチェックをいれてください。
『Completing the Setup Wizard』という画面が出ればインストールが完了したということです。
GitBashはWindowsキーを押して『bash』と入力、その後Enterキーで起動できると思います。
ちゃんとBashのコマンドが使えるか試してみましょう。(ちなみに僕の記事の場合Bashを使う時には左上に『ターミナル』と書いておいています)
$ ls
'3D Objects'/
AppData/
Apple/
Contacts/
[...]
この記事の解説の中でも何度かGitBashを使うので覚えておいてください。
まずは他のバージョンのpythonがインストールされていないか確認して、入っていたらアンインストールします。
pythonがインストールされているかは、GitBashで以下のようなコマンドを打って確認します。
$ python --version
Python 3.6.8
このように、『Python {バージョンNo.}』が表示されたらすでにインストールされているということです。
Pythonのアンインストール方法は『アプリと機能』という設定から行います。Windowsキーを打って『uninstall』と入力してEnterで開けると思います。
検索で『python』と入力して表示される『python {バージョン名}』と『python launcher』をアンインストールしましょう。
インストールするpythonのバージョンには注意が必要です。
ライブラリやフレームワークは使用できる言語のバージョンが指定されています。例えば、2019年11月6日現在のDjangoの最新バージョンDjango2.2で使用できるバージョンはPython3.5, 3.6, 3.7だけです。
Pythonの公式サイトで公開されているPythonの最新バージョンはPython3.8になるため、最新バージョンをインストールしてしまうとDjangoが使えないということになります。
2019年11月現在はPython3.6か3.7あたりを使っておくと良いでしょう。
今回はPython3.7を使う事にします。
WindowsにPythonをインストールするインストーラはPython公式サイトからダウンロードできます。以下のサイトにアクセスしましょう。
サイトの上部のタブからDownloads > Windowsとアクセスしてダウンロードページを開きます。
ここで表示されるページのLatest Python 3 Releaseというリンクは選ばないでください。
そのままページをすこし下にスクロールしていくとPython 3.7.5 という部分があります。こちらの中のWindows x86-64 executable installerをクリックしてインストーラをダウンロードしましょう。
ダウンロードしたファイルを開くとインストーラが起動します。必ず『Add Python3.7 to PATH』にチェックをいれてInstall Nowをクリックします。
これにチェックを入れなかった場合、自分で環境変数にPythonのパスを設定しなくてはいけなくなるので、必ずチェックを入れましょう。
Setup was Successfulと出ればインストールは完了です。
GitBashで確認してみましょう。GitBashが開いたままになっていた方は一度開きなおしてください(Winキー+『bash』+ Enterキー)。
$ python --version
Python 3.7.5
もし/c/Users/MarsQuai/AppData/Local/Microsoft/WindowsApps/ permission deniedのような出力が出てしまった場合、アプリのエイリアスが邪魔している可能性があります。
Winキーを押して、『alias』とうちEnterキーで『アプリ実行エイリアスの管理』の設定を開くことができます。
表示されているものの中でpythonと書かれたものをすべてOFFにしましょう。
Pythonではファイル名を指定して実行する実行方法と、1行ずつ対話的に実行する実行方法があります。
MacやLinuxのターミナルでは普通に『python』と打つだけで対話モードを起動できるのですがWindowsの場合『-i』オプションをつけないと対話モードになりません。
実際にGitBashで対話モードで起動して簡単なスクリプトを実行してみましょう。
$ python -i
Python 3.7.5 (tags/v3.7.5:5c02a39a0b, Oct 15 2019, 00:11:34) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello World")
Hello World
>>> 1+2+3+4
10
>>>
コマンドプロンプトで対話モードを使う時には『-i』オプションは必要ないです。
>python
Python 3.7.5 (tags/v3.7.5:5c02a39a0b, Oct 15 2019, 00:11:34) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello World")
Hello World
Pythonで開発をするときにはvirtualenvを使うことをおススメします。virtualenvはPython のパッケージをプロジェクトごとに分けることができるライブラリです。
$ pip install virtualenv
$ virtualenv --version # インストールの確認
16.7.7
virtualenvコマンドはそれぞれのプロジェクトにpythonの環境を作成します。コマンドの簡単な使い方は以下の通りです。
$ virtualenv {名前}
仮想環境はactivateコマンドを打つことでそのターミナルで使用可能になります。仮想環境を終了させたいときには逆にdeactivateコマンドをつかいます。activateコマンド、deactivateコマンドはそれぞれ以下のような使い方になってます。
$ source {名前}/Scripts/activate # activateコマンド
$ deactivate # deactivateコマンド
※MacやLinuxでは微妙に実行するコマンドが変わります!!
ここでは適当に作業ディレクトリを作り、そこに仮想環境を作成してライブラリをインストールし、きちんと動くか確認してみます。
内容については以下の通りです。
コマンドを打つのにGitBashを開くのですが、今回はこれまでと少し違う方法で開いてみましょう。まずはエクスプローラでドキュメントディレクトリを開きます。そこで右クリックして、そこからここからGitBash HereでGitBashを開いてみてください。。
すると下のようにドキュメントディレクトリでBashを開くことができます。(普通に開いた後にcd Documentsした状態)
~/Documents $
この開き方も便利なので覚えておきましょう。
では仮想環境を使ってみます。
$ mkdir sample_pj # ディレクトリを作成
$ cd sample_pj # ディレクトリを移動
$ ls # ディレクトリの中身を確認(いまは空)
$ virtualenv sample_venv # 仮想環境を作成
$ ls # 仮想環境が作成されたことを確認
sample_venv/
$ source sample_venv/Scripts/activate # 仮想環境をactivate
(sample_venv) $ pip install django # ライブラリをインストール
(sample_venv) $ pip freeze # インストールできたことを確認
Django==2.2.7
pytz==2019.3
sqlparse==0.3.0
ちゃんとインストールできました。簡単にこの中でdjangoを使ってみましょう。ここで実行するコマンドについて、意味は理解せずに流してしまって大丈夫です。詳しくはDjangoのチュートリアルのPart1で紹介します。
今はただ仮想環境が正しく使えることを確認しましょう。
(sample_venv) $ django-admin startproject sample_blog
(sample_venv) $ cd sample_blog
(sample_venv) $ python manage.py runserver
Watching for file changes with StatReloader
サーバーはBashでCtrl+Cと打てば終了させられます。確認はできたので、そのまま仮想環境もdeactivateしましょう。
(sample_venv) $ deactivate venv/Scripts/deactivate
$ pip freeze # 環境の分離を確認
僕はいつも1つのWebサイトに対して一つの作業ディレクトリとその中に仮想環境を作成しています。
ただその辺はあくまで参考程度なので、個人の管理しやすいようにしましょう!
今回ご紹介した仮想環境で環境を分離する方法はDjangoだけでなくすべてのPythonアプリケーションのプロジェクトの管理で勧められている方法です。
仮想環境を使いこなして最高のPythonライフを送りましょう!!