テキストエディタのAtomでPython開発環境におすすめのパッケージをご紹介します。
大きく分けて『IDE』『linter』を使う方法があります。他にも良いものはありますが、この2つは主要言語に対応していて使い方も似ているので迷いにくい。
『どのパッケージを使えば良いのか分からない』人には無難なのでおすすめ。
Python開発におすすめのパッケージ
Pythonは、読みやすい、書きやすいを目指して開発されたプログラム言語です。プログラミングにくわしくない大学などの研究者の間で注目されました。
最近はAI(人工知能、機械学習・ディープラーニング)が注目されたことで、さらに普及が広まっています。
はじめに各分野のスペシャリストたちに注目されたため、専門的な処理を行うパッケージが多く用意されています。
AIのパッケージもその中のひとつ。
そのPython開発環境の便利なパッケージをご紹介します。atomのプログラム開発では大きく分けて2つです。
- IDE(統合開発環境)を使う
- linterとそのほかのプラグインを使う
どちらを使うにしても、プログラム言語に関係なく共通で使えるプラグインがあります。
まずはそれをインストールします。
IDE(統合開発環境)を使う
atom-ide-uiはインストール済みとして進めます。
ide-python
https://atom.io/packages/ide-python
ide-pythonは、atom-ide-uiのpython言語パックです。pythonは公式の言語パックがないのでコミュニティで開発されたものを使います。
ide-pythonはpython環境にpython-language-server[all]が必要です。.pyファイルを開くとこのようなエラーが出るのですぐにわかります。
言われたとおりにインストールします。
python -m pip install 'python-language-server[all]'
atom-ide-debugger-python
https://atom.io/packages/atom-ide-debugger-python
IDEで使うpythonの専用デバッガです。あとで出てくるpythonのデバッガは使えません。
IDEでのpythonプラグインは以上です。
次からはlinterを使ったpythonプラグインです。linterを使う場合はIDEより選択肢が多いです。
ここでは5つご紹介します。
すべてIDEと機能が被っています。IDEを使う人は不要です。
ソースコードの静的コードチェック
linter
https://atom.io/packages/linter
プログラムの静的コードチェックを行うツールです。Python専用の拡張パッケージが用意されていて、拡張パッケージは別途インストールが必要です。
Pythonでは、linter-python-pep8, linter-pythonのプラグインをご紹介します。
静的コードチェックは、プログラムを実行する前にコードがきちんと書かれているかをチェックして知らせてくれるツールです。
最近は、プログラムを書くのと同時にチェックを行い、エラーがあったらエディタのウィンドウに表示するものあるので、とても便利です。
これから紹介するツールもこのかたちです。
linterとIDEは共存できません。IDEを使う人は不要です。
linter-python-pep8
https://atom.io/packages/linter-python-pep8
pep8は、Pythonで公式に採用されているコーディング規約チェックツールです。そのpep8のlinter拡張パッケージです。
このパッケージは、Python環境にpep8をインストールが必要です。インストールにはpip(pip3)コマンドを使います。
pip install pep8
Pythonは、読みやすい・書きやすいプログラミングを目指して作られたプログラム言語なので、コーディング規約に則ったプログラミングを行うことは、Pythonの基本ルールだと考えたほうがよいです。
linter-python
https://atom.io/packages/linter-python
pythonのコーディング規約チェックツールには、公式ではないですが多くの人に利用されて準公式的なものもあります。
(デファクスタンダード)
pylamaです。linter-pythonプラグインはpylamaを使います。
pylamaには、PyFlakes、Pylintなど、有名なコーディングチェックツールが含まれ人気があり、pipのパッケージにも登録されています。
atomでも、linter-python-pep8よりも人気があります。ぼくもlinter-pythonを使っています。
このパッケージは、Python環境にpylamaをインストールが必要です。インストールにはpip(pip3)コマンドを使います。
(pylama-pylintも使いますが、かならず必要なものではありません。)
pip install pylama pylama-pylint
プラグインの公式ページでもpylamaのインストール方法が紹介されています。
そこでは、pylama-pylintもインストールするコマンドが紹介されているので、ぼくは2つとも入れています。
そのほかのpythonのlinter
linter-python-pep8もlinter-pythonも、中身は人気のあるツールをいくつかまとめたものです。
各ツールの特性や使い方を調べたり覚える必要がありません。そして、pythonのコーディングチェックツールには、それぞれ個別のlinterもあります。
使うツールを限定したいときにインストールします。
個別にインストールする場合、linter-python-pep8, linter-pythonなどpython環境がまとめられたプラグインは不要です。
上級者の使い方なのでほとんどの人は使うことはないです。
コードの入力補完
autocomplete-python
https://atom.io/packages/autocomplete-python
Python専用の入力補完パッケージです。
テキストエリアに文字を入力すると、メソッドやクラスなどの入力候補が表示され、プログラミングを助けてくれます。
プログラミングにとって入力補完は当たり前なので必須のパッケージです。
ソースコードの整形
atom-beautify
https://atom.io/packages/atom-beautify
プログラムコードを整形するパッケージです。Pythonに対応しています。
(そのほかの主要なプログラム言語にも対応しています。)
デバッグ機能
Python-Debugger
https://atom.io/packages/python-debugger
ブレークポイントを直感的に指定してデバッグを実行するパッケージです。デバッガビューエリアでpdbコマンドのサブコマンドを使ってデバッグします。
デバッガは、プログラムを一時停止したり再開しながら少しずつ実行して、動作確認することです。
動画を止めたりスローモーションで再生したり、早送りしたりするのと似ています。
(ただしデバッガは戻ることはできない。)
ブレークポイントは、プログラムを止める場所です。プログラムを実行する前に止めたい場所にマークします。
デバッガは1行ずつ実行することもできます。
エラーが出たときの対応
atomのpython環境は、pythonにインストールが必要なパッケージがあるので、キャプチャのようにエラーが表示されることがあります。
Provided path doesn't exist
Please fix pylama path or install latest version
は、pylamaをインストールしていないので、実行するコマンドが見つからないか、インストールされたpylamaのバージョンが古いときのメッセージです。
(pylama以外でも同じようなエラーが出ます。)
このようなメッセージが出るときは、何かしらインストールするものが足りなかったり、インストールしたパスがatomの設定のデフォルトとちがうときです。
パッケージのsettingで内容を確認しましょう。
インストールしたパスの確認
まずは、linter-pythonの設定を確認します。File -> SettingsでPackagesを開きます。そして、linter-pythonの設定を開きます。
そして、pylamaの実行パスの確認をします。デフォルトは"pylama"で、どこでもpylamaコマンドが使えると想定しています。
次に、コマンドプロンプトを適当なパスで起動します。そして、pylamaコマンドを実行します。
pylama
これでコマンドが実行できればOKです。
これでもエラーが出るとき、pylamaコマンドのバージョンが古いです。pylamaコマンドを更新します。
pip list -o
アップデート更新リストにpylama, pylama-pylintがあるときはアップデートします。
pip install -U pylama pylama-pylint
まとめ
今回はあくまで最低限必要なパッケージだけを紹介させていただきました。
Pythonは2系と3系のバージョンがありますがどちらでも利用できます。
Atomはパッケージをインストールしすぎると動作が重くなり使い勝手が悪くなります。便利なパッケージはたくさんあるのでインストールのし過ぎには気をつけましょう。
また、同じような機能のパッケージもたくさんあります。似た機能のパッケージは、その中からひとつを選んでインストールしましょう。