akiyoko blog

akiyoko の IT技術系ブログです

無料版 PyCharm で Django 開発環境を構築するまでの手順(「現場で使える 基礎 Django」本の補講その2)

akiyoko です。
この記事では、私が執筆した Django の同人誌「現場で使える 基礎 Django」で説明しきれなかった部分の加筆・補足をしています。まだ本を読んでいない方にも読める記事になっていますので、ご安心を。

補講その2として今回は、「無料版 PyCharm で Django 開発環境を構築するまでの手順」 について取り上げます。


記事の前半で「PyCharm」の概要や利点、「Professional 版」と「Community 版」(「CE」と略されます)のエディションの違い、Professinal 版のライセンスと料金体系を説明し、後半で無料版の「PyCharm CE」を使って Django の開発環境を構築するまでの手順を解説します。


同人誌を購入済みの方のために補足すると、技術書典4 で頒布したバージョン(v1.0.0)の「付録A:macOS の Python 3 環境構築の方法」や 6月以降に再販したバージョン(v1.0.1)の「付録A:macOS における Django 開発環境の構築手順」とは若干手順が異なっていますので、すでにお読みの方はご注意ください。改訂箇所は以下の通りです。

  • (使う必然性がなかったので)Anaconda を使わないように改訂(v1.0.1)
  • 初心者でも簡単に環境構築できるように PyCharm CE を使うやり方に改訂(v1.0.1)
  • 説明を簡便にするために、Python をインストールするまでの手順を省略(本記事)
  • インストールする Python のバージョンを 3.5.2 → 3.6.5 に変更(本記事)

本ブログ記事では長々と書いていますが、同人誌ではスッキリと書いていますのでご安心ください。



《CMコーナー》
「現場で使える 基礎 Django」は現在、増刷して絶賛発売中です!
booth.pm





PyCharm とは

PyCharm」は「統合開発環境」(IDE)と呼ばれる開発ツールで、Python で開発をする際にいろいろと便利な機能を利用することができます。 仕事の現場でメモ帳を使って開発するとあまりにも非効率なので、このようなツールが一般的に使われています。

JetBrains 社の IDE では Java 向けの「IntelliJ IDEA」や、PHP 向けの「PhpStorm」が有名ですが、Python 向けの IDE が「PyCharm」という位置付けになっています。私は、Python 開発にはもっぱらこの「PyCharm」を愛用しています。

メリットとデメリット

私が Python の開発に PyCharm を使う理由は、以下の点が気に入っているからです。

  • コードジャンプ機能と自動整形機能を使うことで開発効率が著しく向上する
  • インストールしたそのままの状態で快適に使える

その他にも以下のようなメリットがあり、Python があまり得意でない方にも便利に使うことができるのも魅力です。

  • venv」(仮想環境を作成するためのモジュール)や「pip」(パッケージ管理ツール)のコマンドの使い方が分からなくても、PyCharm の画面からポチポチと操作できる
  • Windows 版も Mac 版もだいたい同じ操作性や見た目になるのでナレッジが共有しやすい

現時点でのデメリットとしては、例えば以下のものが挙げられるかと思います。

  • 一部機能が有料の Professional 版でないと使えない(後述します)
  • 現時点で Pipenv に未対応 *1
  • conda を使っている場合に PyCharm の画面からパッケージがインストールできない不具合がある(?)


PyCharm 関連でよく話題に上がるのが、エディションとライセンス、そして料金体系です。

エディション(Professional 版と Community 版の違い)

PyCharm には有料の「Professional」版と無料の「Community」版(CE)とがあり、Community 版では一部機能が使えないといった制限があります。
機能の比較表が以下になります。 *2

f:id:akiyoko:20180616115941p:plain
Features - PyCharm より引用)


この中で私が考える Professional 版のメリットはズバリ、以下の三点です。

  • ファイルの同期とリモートデバッグ(Remote development capabilities)
  • データベースのサポート(Database & SQL support)
  • Django などの各種フレームワークのサポート(Python web frameworks)


まず、「ファイルの同期とリモートデバッグ」は、私が Professonal 版を選んでいる一番大きな理由です。ファイルの同期とはその名の通り、Vagrant や AWS の外部サーバに SFTP 等で自動的にファイルを同期してくれる機能で、実サーバで動作検証する際に非常に便利に使うことができます。リモートデバッグとは、サーバで動作させている Django のプロセスをブレークポイントで止めて IDE 内でステップ実行できる便利機能です。pdb を使ってコンソールでデバッガを使うのと比較して、見慣れた環境でデバッグできるのため効率が劇的に上がります。

二点目の「データベースサポート」は、IDE 内でデータベースのレコードを表形式で表示したり、表のセルを更新することでレコードを直感的に変更できたりと、データベースの操作を IDE 内で統合的に使えるようにしてくれる機能です。
f:id:akiyoko:20180616163255p:plain
SQLite については良さげなクライアントツールがないので個人的にこの機能は重宝していますが、例えば MySQL であれば Sequel Pro、PostgreSQL であれば「PSequel」などのクラアンとツールがあれば特に必要ないとは思います。あと、ER図の作成機能があるので、プロジェクトによってはニーズはあると思います。

akiyoko.hatenablog.jp


最後の「Django などの各種フレームワークのサポート」ですが、例えば Django の場合であれば、テンプレートエンジンに合わせたシンタックスのハイライトや、ファイルに合わせたコード補完をサポートしてくれます。これらの機能はあればもちろん便利なのですが、私の感覚では必要不可欠とまでは言えないように感じています。詳しい情報は「Web Development and Django Support - Features | PyCharm」を参考にしてください。


ちなみに後述する通り、 学生は無料で Professional が使える ので、問答無用で Professional 版を利用すればよいと思います。


ライセンスと料金体系

以降で、Professional 版のライセンスについて説明します。

2017年以降はそれまであった「永久ライセンス」は無くなり、「サブスクリプションライセンス」方式になりました。PyCharm のサブスクリプションは、継続年数によって値段が異なるので少しややこしいです。また、基本は年払いですが、初年度に限り月払い(継続課金)も可能です。 *3

ライセンスは、PC1台ごとではなく、ユーザー1人ごとの料金になっています。ライセンスが1つあれば複数マシンで(別のOSでも可)利用できる のは嬉しい限りです。ただし、同一のユーザーが使うという前提でなければいけません。 *4


次に、コマーシャルライセンスとパーソナルライセンスの違いについて説明します。両者に機能的な差はありません。目的(開発するものが企業の製品・サービスなのか否か)によって、そのライセンスが異なります。パーソナルライセンスは、個人用に使うため(企業ではなく自分のお金で自分のために使う)のものですが、商用サービスの開発にも使えるとのことです。 *5 企業の業務内で利用する場合はコマーシャルライセンスを使いましょう、とのこと。 *6


そして気になる料金体系はこちら。
正確な値段については、公式サイトを適宜ご確認ください。


【パーソナル(個人)ライセンス】 *7

継続年数 料金(年額)
1年目 89.00 USドル /年
2年目 71.00 USドル /年
3年目以降 53.00 USドル /年


【コマーシャル(企業)ライセンス】 *8

継続年数 料金(年額)
1年目 199.00 USドル /年
2年目 159.00 USドル /年
3年目以降 119.00 USドル /年


また、大学のメールアドレスなど何らかの証明が必要となりますが、学生であれば無料で Professional 版が利用できます(PyCharm だけでなく JetBrains 社の全製品が無料になります)。 *9

私は個人的に有料の Professional版を利用していますが、以降で説明する内容は無料の Community 版でも問題なく動作させることができますのでご安心ください。



Django 開発環境を PyCharm CE で構築するまでの手順

手順の解説

今回の手順について、全体像となぜそのようにするのかを Q&A形式で説明します。

まず、全体像はこちらになります。

f:id:akiyoko:20180617162502p:plain


1.Python 3 をインストール

Q.Python 3 のバージョンは何を選べばよい?
A.3.6 系の最新安定版(執筆時点の最新版は「3.6.5」)を選ぶのがよいです。しかしながら 3.5 系でも Django を使う上では特に問題ないと思います。バージョン 3.6 と 3.5 の違いについては以下を参考にしてください。


(参考)

Q.Python 3 はどうやってインストールすればよい?
A.Python 公式サイト からダウンロードしてインストールするのが一番簡単です。macOS の場合は、Python のバージョンが簡単に切り替えられるように Pyenv というツールを使ってインストールすることをオススメしますが、やや手順が面倒になります。同人誌の付録では Pyenv を使ってインストールする手順についても説明しています。

Q.venv とは?
A.仮想環境作成モジュールです。Python 3.3 以降では「venv」が標準で付属しており、Python 3.5 以降は仮想環境を作成するのに(「virtualenv」や「pyvenv」ではなく)「venv」が推奨されています。 *10

Q.pip とは?
A.Django などの Python パッケージをインストール・アンインストールするためのパッケージ管理ツールです。Python 3.4 以降では「pip」が標準で付属しています。 *11


2.PyCharm をインストール

Q.なぜ PyCharm を使うの?
A.開発しやすいのが一番の理由です。そのほか、「venv」(仮想環境を作成するためのモジュール)や「pip」(パッケージ管理ツール)に詳しくなくても PyCharm の画面をポチポチ操作するだけで仮想環境を作れたり、ライブラリをインストールしたりできるので、初心者にも優しいツールになっています。

Q.初期設定は?
A.PyCharm は「out of the box(箱から取り出してすぐに使える、難しい設定などは一切なしで使える)」というのが大きな魅力のひとつですので、インストール直後の状態でほとんどそのまま使えます。より開発しやすくするための最低限の設定については、拙ブログの過去記事「 PyCharm のオレオレ最強設定 - akiyoko blog」を参考にしてください。


3.PyCharm プロジェクトを作成

Q.PyCharm プロジェクトを作成するときに何を指定すればよい?
A.ワークスペースのディレクトリのパス、仮想環境のディレクトリのパス、Python インタープリタのパスを指定します。ワークスペース以外はプロジェクト作成後でも指定できますが、プロジェクト作成時に済ませておくことをオススメします。

Q.ワークスペースのディレクトリは何を設定すればよい?
A.私はデフォルトのディレクトリを使っています。macOS であれば「~/PycharmProjects/」がデフォルトのワークスペースを配置する場所になります。

Q.仮想環境のディレクトリのパスは何を設定すればよい?
A.デフォルトのまま、プロジェクトが作成されるディレクトリ直下に「venv」という名前のディレクトリを作ればよいでしょう。

Q.Python インタープリタのパスは何を設定すればよい?
A.macOS であれば「which python3」で表示されるパス (*12)、Windows であれば「where python」で表示されるパスを指定します。

Q.Django をローカルPC にインストールするのはなぜ?
A.以下の理由があります。

  • Django に同梱されている django-admin.py(Django 管理コマンドユーティリティ)でプロジェクトのひな形を作るため
  • プロジェクトのひな形作成時に生成される manage.py(プロジェクト管理コマンドユーティリティ)でアプリケーションのひな形を作るため
  • PyCharm 上で Django モジュールへのコードジャンプができるようにするため



以降で、無料版 PyCharm で Django 開発環境を構築するまでの手順を実際に進めていきます。なお、私の環境は macOS 10.13(High Sierra)でそれを前提に進めていきますが、Windows 環境でも問題なく進められると思います。



1.Python 3 をインストール

Python 公式サイト から Python 3 をインストールします。
なお、macOS にはデフォルト状態では Python 2.7 が入っています。Windows 10 の場合は Python はインストールされていないと思います。

https://www.python.org/downloads/ から、インストーラをダウンロードします。

f:id:akiyoko:20180617173533p:plain


インストーラをダブルクリックしてインストールします。

f:id:akiyoko:20180617174009p:plain:w400

macOS の場合は自動的に PATH に指定されますが、Windows の場合はインストーラ実行時に「Add Python 3.6 to PATH」をクリックして PATH に追加します。

f:id:akiyoko:20180617174021p:plain:w350


今回の場合では、macOS では「python3」として実行できるようになります(Windows の場合は「python」)。


(macOS 10.13 の場合)

$ python3 --version
Python 3.6.5

$ which python3
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3

(Windows 10 の場合)

> python --version
Python 3.6.5

> where python
C:\Users\akiyoko\AppData\Local\Programs\Python\Python36-32\python.exe

 

2.PyCharm CE をインストール

https://www.jetbrains.com/pycharm/download/ から、Community 版である「PyCharm CE」のインストーラをダウンロードします。

f:id:akiyoko:20180617174742p:plain


インストーラをダブルクリックしてインストールを完了させます。



PyCharm CE を起動すると、いくつか初回設定を選択する画面になりますが、こちらは自分のスタイルに合わせて適宜選択します(後で変更し直すこともできます)。

なお、最初に出てくるキーマップ(keymap scheme)は、以前から使っているユーザーであれば「Mac OS X 10.5+ keymap」がよいかと思います。PyCharm 公式ショートカット一覧(Windows版 / Mac版)も非常に役立ちます。

f:id:akiyoko:20180617174858p:plain:w500
f:id:akiyoko:20180617174913p:plain:w500
f:id:akiyoko:20180617174927p:plain:w500
f:id:akiyoko:20180617174940p:plain:w500



3.PyCharm プロジェクトを作成

PyCharm プロジェクトを作成するには、PyCharm 起動後に「Create New Project」をクリックします。

f:id:akiyoko:20180617175016p:plain:w400

次の内容を入力してプロジェクトを新規作成します。
この際、「Virtualenv」を指定することで、プロジェクトごとに仮想環境が作成されます(仮想環境のディレクトリ名は「venv」としています)。 *13

項目 設定値
Location: 「/Users/akiyoko/PycharmProjects/mysite」
New environment using: 「Virtualenv」
Location: 「/Users/akiyoko/PycharmProjects/mysite/venv」
Base interpreter: 「/Library/Frameworks/Python.framework/Versions/3.6/bin/python3」(「which python3」の実行結果をコピー&ペースト (*14))

f:id:akiyoko:20180617175028p:plain

PyCharm プロジェクトが作成されました。

f:id:akiyoko:20180617175045p:plain


「Preferences」(⌘ + ,)から「Project Interpreter」を開き、下部の「+」ボタンをクリックして、Python パッケージをインストールする画面を開きます。

f:id:akiyoko:20180617175102p:plain

例えば、「Django」を検索して、現時点の 2系の最新版である「2.0.6」をインストールします。

f:id:akiyoko:20180617175118p:plain

依存パッケージを含めてインストールが完了しました。

f:id:akiyoko:20180617175143p:plain

次に、左下のアイコンをマウスオーバーして「Terminal」を選択すると、仮想環境がアクティベートされたターミナルが起動します。

f:id:akiyoko:20180617175200p:plain

アクティベートされない場合は、「Preferences」から[Tool]>[Terminal]>[Activate virtualenv]にチェックが入っているかを確認してみてください。

f:id:akiyoko:20180617175224p:plain

それでもダメな場合は、仕方なく以下のコマンドを実行します。

$ source venv/bin/activate


 
最後に、ターミナル上で次のコマンドを実行して、Django プロジェクトのひな形を作成します。設定ディレクトリ名は拙書に倣って「config」としています。

(venv) $ django-admin.py startproject config .


これで PyCharm で Django を開発する環境が整いました。


最後に

最後に一番大事な話。
4月に「技術書典4」で販売して即完売した「現場で使える 基礎 Django」が、現在増刷して絶賛発売中です!

無償の PyCharm CE を利用すれば、仮想環境を作成するための「venv」やパッケージ管理ツールの「pip」のことがよく分からなくても、Python 開発のためのプロジェクトを簡単に作成することができます。今回紹介した手順に従えば、Django の開発環境もラクラクと構築することができると思います。これで安心して Django の開発に取り組めますよね。あとはこの本を読んで勉強するだけですよね。

booth.pm


この本は B5サイズ・148ページの 本格的な Django 解説書 ですが、Django を仕事の現場で6年ほど使っている私が 「現場でこんな本があったらなぁ」という想いで書いたので、仕事で使っているあなたにぴったりな本 に仕上がっているはずです。
そしてこの本は特に、

  • Django の日本語書籍が無くて困っている方
  • Django で一度挫折したことがある方

に絶対オススメの一冊となっています。


過去記事で読みどころの解説や読者の方々の評価を紹介していますので、気になる方はこちらも合わせてご覧ください。

《過去記事》
akiyoko.hatenablog.jp