開発環境としてRstudioってすばらしいですよね!!
-
ctrl + Enter
で選択範囲を実行ができる - Debugがシンプルで使いやすい
- ショートカットキーが充実してる
- plotが表示範囲があって、plotを保存できる
-
#
を使って自動的に目次がつけられる
, etc.
しかし、残念ながらPythonでRstudioのような開発環境は私の知る限り存在していません・・・
そこで、
この記事では
に触れつつ、
と思います
##Pythonの開発環境
Pythonの主な開発環境としては
- VS(Visual Studio) Code
- atom
- Jupyter notebook
- Spyder
- PyCharm
などがあります。
最近では、Google ColabのようにJupyter notebookで書かれたコードをよく見ます。
Jupyter notebookの利点としては
- 結果を可視化して残しておいたり、Markdownでの説明を入れることができ、
結果を確認しやすい - 拡張機能があり、目次を自動で作成できたり、入力時に関数の定義を表示させたり、セルごとの実行時間を表示できたり・・・
- Jupyter notebookというよりGoogle Colabでは開発環境が整えられており、手軽にコードを書くことができる
Google Colabとは
Google Colabでは無料でGPUが使用でき、PyTorch、Tensorflowなどがあらかじめインストールされています。面倒な環境構築をせずともGPUを使った深層学習のコードを実行できるので試しに実行したいときには便利です!!
Rstudioと比べたjupyter notebookの欠点
Jupyter notebook見やすくて良いんですが、ちょっと長めのコードを書いたり、git clone
して他の人が書いたコードを読むときに関数内の変数が何を表しているかわかなくなることがあります
Jupyter notebookでは変数を確認するには新たなセルで実行して確認しなくてはいけません
debuggerもありますが、Jupyter notebookのdebuggerは使いづらい・・・
つまり、
Rstudioと比べてJupyter notbookの欠点としては
- 部分実行(ドラッグした範囲のみを実行する)ができない
- Debuggerが使いづらい(慣れの問題のような気がしますが)
- コードの1行コピーなどのショートカットキーが使えない
PycharmをRstudioっぽく使ってみよう
Pycharmのインストールと使い方
これらを解決するのに今ところ一番良いのがPyCharmです!!
(Visual Studio Codeも多分同じように使えると思いますが、個人的にDebuggerの使い方がPycharmに比べて分かりづらいです)
インストール方法とかはここで
少しだけ補足
Anacondaなどで仮想環境を作っていて、仮想環境を指定して実行したいときには
File >> Settings >> Project Interpreter
で指定できます
それぞれの仮想環境でインストールされているパッケージ等もここで表示されます
Pycharmで行う設定
Rstudioと比べてJupyter notbookの欠点としては
- 部分実行ができない(ドラッグした範囲のみを実行する)
- Debuggerが使いづらい(慣れの問題のような気がしますが)
- コードの1行コピーなどのショートカットキーが使えない
Pythono実行環境の上記の欠点を解決するため、
1.Rstuioと同じショートカットキーを登録する
2.Debuggerを使えるようにする
を行います
1.Rstuioと同じショートカットキーを登録する
File >> Settings >> Keymap
で変更したいショートカットを検索しましょう
例えば
- 選択範囲のコード実行する
Execute Selection in Console
で検索
ctrl + Enter
で登録します。
このときすでにctrl + Enter
は他のショートカットーキーに割り当てられていて削除するか聞いてきます。
そのまま残しておいても良いのですが、新しく登録したショートカットキーが動作しないことがあったので削除したほうが良いかと
また、
新しくショートカットキーを登録したら、すでに登録されているショートカットキーがある場合も削除しましょう
同様にして下記の部分についても登録していきます
- コードを1行上げる
Move Line Up
で検索
Alt + Up
で登録
- コードを1行下げる
Move Line Down
で検索
Alt + Down
で登録
- 選択範囲をコピーして貼り付け
Duplicate Line or Selection
で検索
Alt + Shift + Up
で登録
- コードを1行削除する
Delete Line
で検索
Ctrl + D
で登録
-
カーソル位置より上をすべて選択
Move Caret to Text Start with Selection
で検索
Ctrl + Shift + Up
で登録 -
カーソル位置より下をすべて選択
Move Caret to Text End with Selection
で検索
Ctrl + Shift + Down
で登録
-
前の単語までを選択範囲にする
Move Caret to Previous Word with Selection
で検索
Alt + Shift + Left
で登録 -
次の単語までを選択範囲にする
Move Caret to Next Word with Selection
で検索
Alt + Shift + Right
で登録
- コメントアウトを入れる
Comment with Line Comment
で検索
Ctrl + Shift + C
で登録
**選択範囲を広げる
Pycharmではデフォルトで範囲を広げるのに
Up with Selection
→ Shift + up
Down with Selection
→ Shift + Down
Right with Selection
→ Shift + Right
Left with Selection
→ Shift + Left
のショートカットキーが設定されています。
PycharmをインストールしたときのVimの設定によってはこれらのショートカットキーが動かないことがあるそうです。
その場合には、Tools >> Vim Emulatorのチェックを外すしましょう。
ショートカットについて@ZaKamaさんにアドバイスをいただきました
ありがとうございます
(要望があれば更に追記します)
これでRstudioと同じショートカットキーを使えるようになりました
2.Debuggerを使えるようにする
Debuggerの設定はいらないですが、使い方だけ解説しておきます
Debuggerで主に使うのは
- Break point
任意の部分でプログラムの実行を停止させる
停止した部分からStep overなどを使い順次実行させていく。
このときコンソールを使うことができ、
Break pointを設定した関数内のローカル変数を表示できるようになります
Step ◯◯◯はBreak pointから順次実行させていくのに使用します
-
Step over
実行する行に関数が含まれていてもその関数に移らずに実行を行う -
Step into
実行する行に関数が含まれているとその関数に移る -
Step out
実行部分が関数内にあるときに使用する
関数内の処理をすべて実行して、関数から出る
詳しくはこちら
Jupyter notebookでもDebbugerは使えるのですが、
Breakpointを
from IPython.core.debugger import Pdb; Pdb().set_trace()
で登録します。
これが結構面倒で、どこにBreakPointを置いたのか一目でわからなくなります。
Pycharmだと1クリックでBreakPointを設置でき、設定した位置が赤丸で表されます。
Pycharmでの具体的なDebuggerの使い方はこちらを見てください
ポイントだけいうと
Break Pointを設定する
Step ◯◯◯ で1行ずつ実行して
(下記画像の矢印のアイコンがStep ◯◯◯)
VariablesもしくはShow Python Promt(下記画像だとpythonアイコン部分)でコンソールを開いて変数を確認
これでRstudioに近づけたでしょう!!
といってもショートカットキーしか設定していませんが・・・
Rstudioと同じショートカットキーを使えて、部分実行ができて、Debuggerも簡単にGUIで行えるなら十分でしょう!!
さらに、PycharmのScientific モードを使えばRstuioのようにplotを表示させ、保存させることができるそうです
有料ですが・・・