Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Pythonの開発環境をRstudioっぽくしてみよう

More than 1 year has passed since last update.

開発環境として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を使った深層学習のコードを実行できるので試しに実行したいときには便利です!!

google_colabo.png

詳しくはこちらとか、こちらが参考になります

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に比べて分かりづらいです)

pycharm.png

インストール方法とかはここ

少しだけ補足

Anacondaなどで仮想環境を作っていて、仮想環境を指定して実行したいときには
File >> Settings >> Project Interpreter
で指定できます

pycharm2.png

それぞれの仮想環境でインストールされているパッケージ等もここで表示されます


Pycharmで行う設定

Rstudioと比べてJupyter notbookの欠点としては

  • 部分実行ができない(ドラッグした範囲のみを実行する)
  • Debuggerが使いづらい(慣れの問題のような気がしますが)
  • コードの1行コピーなどのショートカットキーが使えない

Pythono実行環境の上記の欠点を解決するため、

1.Rstuioと同じショートカットキーを登録する
2.Debuggerを使えるようにする

を行います

1.Rstuioと同じショートカットキーを登録する

File >> Settings >> Keymap
で変更したいショートカットを検索しましょう

例えば

  • 選択範囲のコード実行する
    Execute Selection in Console で検索

pycharm3.png

Add Keyboard Shortcut
pycharm4.png

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を設置でき、設定した位置が赤丸で表されます。

pycharm5.png

Pycharmでの具体的なDebuggerの使い方はこちらを見てください

ポイントだけいうと
Break Pointを設定する
Step ◯◯◯ で1行ずつ実行して
(下記画像の矢印のアイコンがStep ◯◯◯)
pychram7.png

VariablesもしくはShow Python Promt(下記画像だとpythonアイコン部分)でコンソールを開いて変数を確認
pycharm6.png


これでRstudioに近づけたでしょう!!
といってもショートカットキーしか設定していませんが・・・
Rstudioと同じショートカットキーを使えて、部分実行ができて、Debuggerも簡単にGUIで行えるなら十分でしょう!!

さらに、PycharmのScientific モードを使えばRstuioのようにplotを表示させ、保存させることができるそうです
scientific

有料ですが・・・

hgoj
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