https://qiita.com/yamionp/items/f88d50da8d6b548fc44c
シェアしました。
最強のPython統合開発環境PyCharm
というわけで、Python における最強の統合開発環境である PyCharm について紹介します。
一番多いとは思うので Django による WebApplication 開発を想定して書いています。
概要
Widows / OS X / Linux で動作可能。
PyCharm はその Python プラグインとして開発されています。
他にも Ruby, PHP, JS, C++, Objective-C/Swift などのIDEも開発しています。
価格
Community Edition は Python 自体の解析機構など同一ですが、前述のWeb開発関連のプラグインや
WebApplicationFramework への対応やDB、SQL対応などが省かれている点に注意が必要です。
価格体系
初年度が一番高く、継続していくと徐々に安くなって3年目以降は同じ金額です。
iOSアプリ開発をしたり Ruby, PHP, Java, C++ などを使う人は All Products Pack が検討に値するかもしれません。
インストール
にいけば自分のプラットフォームにあったイメージがダウンロードできます。
あとは指示通りにインストールするだけ。OS X 版は Java も同梱されるようになったのでそのまま動きます。
Project
スタート画面からのプロジェクト作成にも対応していますし、既存のコードの読み込みやgitなどのVCSから取ってくる事も可能です。
virtualenv管理
プロジェクト作成時か Preferences -> Project -> Project Interpreter で既存の virtualenv 環境の指定や新規作成が可能です。
インストールされているライブラリの一覧や最新バージョンも出るのでライブラリ更新の一括チェックにも便利。
PEP8警告を warning に上げる
PEP8 違反のコードは見ていて吐き気を催すのでPEP8違反するメリットは無いですね。
その下の naming conversion violation のレベルも一緒にあげておくといいです
ファイルエンコーディング記述のチェックを変更する
Preferences -> Editor -> Inspections 内の Python -> File contains non-ASCII character で Encoding comment format を好みのものに。
コメント部分などに日本語がある場合も必要なので全ファイルにデフォルトでいれてしまうのが良いです。
Project Structure
コード補完で出てこなかったり Template にジャンプ出来なかったりした場合は確認しましょう。
Django Setting
Docstring format
コメントによる type hinting を使用する場合に効果を発揮します。
reStructuredText を選択しておけば問題ないです。
Template Language
使用する Template 言語を指定しましょう。
VCS
設定してあると変更などがエディタから確認でき、部分復元にも対応しています。
行番号表示、空白文字表示、
全般的に PyCharm の検索は非常に優秀なので、とりあえず左上の検索ボックスに入れると良い感じに表示してくれます。
ファイルテンプレート
Preferences -> Editor -> File and Code Templates です。
相対参照したい場合は明示的に記述出来、その方が望ましいのでつけておくと余計な心配が無くて良いです。Python3.x のデフォルト動作と同じです。
説明すると長くなるのでしょっぴきますが、これも Python3.x の動作に会わせた方が混乱が無いので良いです。
(複数バージョンのPythonに対応させるコードを書く場合)
ライブラリ開発などで効果を発揮します。
2.x系で動くコードを書く場合、極力3.4以上に合わせたコードを書くのが良いです。
機能紹介
Search everywhere
ファイル名やシンボル、アクションなど Project に関わるたいていの物をインクリメントサーチしてくれます。
メソッド名やファイル名は大文字小文字、アンダースコアなどの区切りを無視して検索してくれるのでうろ覚えでも良いのがうれしい所。
これに依存しているPyCharm使いはかなり多い気がしますね。
コード解析
ライブラリの中まで見てくれるのでちょっと動作や引数に疑問に思ったら気軽に読みにいける。
メタ操作などで対象が特定出来ない場合でも候補を表示してくれるのでコードリーディングが相当楽になります。
右上の歯車マークで以下を選ぶと動作を指定可能です。(Structureではアイコン)
ちなみにエディタの上部に現在フォーカスのあたっているファイルのパスは出ているので途中のディレクトリのファイル参照はそちらから可能です。
コード補完
しかも Search everywhere と同じロジックで動いてくれるのでメソッド名の後ろ半分とかでも補完してくれるのがうれしい。
正直これがかなり強い。
TypeHinting
PyCharm は数年前からコメントによる TypeHinting 機能がついていて Python3.5 でなくても TypeHinting によるコード補完やリファクタリングが出来ます。
TypeHinting について語っていると終わらないので別の記事に任せるとして PyCharm で使える TypeHinting の Syntax は以下にまとまっています。
Database連携
私は SequelPro を主に使ってるのであまり使ってないですが ORM を使ってない場合は重宝すると思います。
Django/SQL Alchemy対応
これらの内部実装はメタ操作が多く、単に静的コード解析しただけでは補完は難しいのですが補完や定義へのジャンプが可能です。
Template & HTML & JS
Template 間の依存関係や画像などのパスもきちんと解析してくれている。
デバッガ
このデバッガは Template 内も捕まえられます。当然ステップ実行可能です。
Template 内のスタックトレースは見づらいので複雑な Template の場合はかなりありがたい。
リモートデバッガ
環境特有の問題の調査などでかなり効果を発揮します。
他にもいろいろ
最初のプロジェクト読み込み時のインデックス作成さえ終わってしまえば、検索や置換、自動リファクタリングもかなり高速に動作しますし、それぞれがそつなく連携していてストレスフリーに使用できます。
その点において PyCharm は何事にも代え難い体験を与えてくれるでしょう。
2020年1月4日土曜日
最強のPython統合開発環境PyCharm
15:16
No comments
新しい言語を習得するにあたって良きIDEというのは最良の師匠となるのでケチらず積極的に使うべきと思っています。
機能や価格体系等については 2015年12月15日 の PyCharm 5.0.2 時点のデータです。
PyCharm は高品質なIDEで有名なチェコの JetBrains s.r.o. が出している Python 向けIDEです。
JetBrains のIDEは IntelliJ IDEA という Java IDE がベースとなっており
PyCharm にはこのうちJS、CSS、HTMLなどのWeb開発関連のプラグインも付属しているのでフロントエンド開発も同じ環境で出来ます。
有償の Professional Edition と無償の Community Edition があります。
Web開発を行いたいのであれば Professional Edition を使うのが良いです。
30日間のフリートライアルがあるのでまずはお試しを。
JetBrains の製品は月額/年額のサブスクリプション制になっています。
購入ページにいくと PyCharm のみのプランと IntelliJ IDEA Ultimate 等、他の言語のIDEをすべて含めた All Products Pack の二つがあります。
PyCharm には Web周辺の機能は付属するので、クライアントサイドのコードを書くだけなら WebStorm を別に買う必要は無いです。
https://www.jetbrains.com/pycharm/download/
PyCharm は Project という単位でコードと設定を管理します。
次以降では、プロジェクト設定について、そのあとオススメ機能を紹介します。
Python では virtualenv で環境を分けている事が多いので作成した Porject 用の virtualenv 環境を作成して設定します。
Python 標準コーディング規約である PEP8 違反の警告レベルが低いので1段あげて warning にするのが良いです。
Preferences -> Editor -> Inspections 内の Python -> PEP8 coding style violation から week warning を warning に上げましょう。
Python はファイルのエンコーディングが ascii 以外の場合はコードの先頭にそれを示すルールになります。その記述スタイルとチェックの為に以下を追加します。
検索パスやTemplate、画像等の参照パスのルートを追加できます。
Django を使う場合は settings の位置や Django project としてのルートの位置を指定します。
Docstring で使用するフォーマットです。
Django 以外にも Jinja2, Mako, Chameleon等にも対応しています。
Git, Mercurial, Subversion などの VCS に対応しています。
git submodule や Project 外がVCSのルートの場合にも、ここに設定を追加すると認識してくれます。
Preferences -> Editor -> General -> Appearance にあります。
ファイル新規作成時のテンプレートを指定できます。
Python2.x を使う場合は以下の二つくらいはつけておくと良いです。
absolute_import は import 時のルールが Python2.x だと相対参照で混乱するので絶対参照のみにしましょう。
unicode_literals はデフォルトの文字列型を unicode にします。
Preferences -> Editor -> Inspections 内の Python -> Code compatibility inspection でチェック対象のバージョンを複数選択できます。
Shift 2度押しで出てくるサーチバーです。
Cmd + クリックやショートカットで定義に飛べます。
ToolWindow の Project や Structure では指定しているエディタ側との連動を設定できます。
好みで設定しておくと良いでしょう。
一般的なコード補完で可能は事は全部してくれます。
また import していなくても動作するので、クラス名や関数名を覚えてる場合はとりあえず書いてしまい Alt + Enter で候補を選んで import 文の自動追加なども出来ます。
警告が出ている箇所で Alt + Enter から出るメニューには色々つまっていて
などなど。
最近 Python3.5 で入って話題になった型ヒントですね。
メタ操作などで型情報が失われる場合は TypeHinting で追加してあげれば補完も効くし引数エラーなども見つかるので積極的に使っていきましょう。
MySQLなどのRDBに接続してデータ閲覧/操作などがGUIから出来ます。
Django/SQL Alchemy の ORM の補完に対応しています。
View から Template にシームレスに移動が可能で、HTML/CSS/JSの補完もばっちり。
TypeScript や CoffeeScript にも対応しているのでサーバーサイドを書かないクライアント担当の場合でも PyCharm は非常に有用。
PyCharm にはデバッガが付属していて、ステップ実行やブレークポイントの設定、停止させての変数変更、 Watch など、一般的なデバッガで可能なことは大抵可能です。
ssh でつないでリモートのサーバーにある環境のでの実行をデバッガで追いかけられます。
機能が多すぎて書ききれませんがコード解析と補完の精度がかなり良い事や、最初から一通りの機能入っており環境構築が要らない事が PyCharm をおすすめする大きな理由です。
よく機能の一部分だけ取り出して代替可能だとか、機能リストだけの比較を見ますが、開発環境の場合、一番使うコード解析周りと検索が高速で気持ちよく動いてくれる事が最も重要だと思います。
Python、Erlang、Elixir などちょっと変わった技術でゲームをつくったりする会社。プログラマだけじゃなく、企画、デザイン、イラストなど開発全般揃ってます。
http://gu3.co.jp
0 コメント:
コメントを投稿