あなたの開発環境¶
テキストエディタ¶
プレーンテキストを編集できるものは、Pythonコードを書くためにはうまくいくでしょう。 しかし、より強力なエディタを使用すると、あなたの人生は少し楽になるかもしれません。
Vim¶
Vimは、メニューやアイコンの代わりにキーボードショートカットを使用するテキストエディタです。
Vimエディタには、Python開発を支援するためのいくつかのプラグインと設定があります。
Pythonでのみ開発する場合は、インデントと改行のデフォルト設定を PEP 8 に準拠した値に設定するのがよいでしょう。あなたのホームディレクトリで、 .vimrc
というファイルを開き、
次の行:
set textwidth=79 " lines longer than 79 columns will be broken
set shiftwidth=4 " operation >> indents 4 columns; << unindents 4 columns
set tabstop=4 " a hard TAB displays as 4 columns
set expandtab " insert spaces when hitting TABs
set softtabstop=4 " insert/delete 4 spaces when hitting a TAB/BACKSPACE
set shiftround " round indent to multiple of 'shiftwidth'
set autoindent " align the new line indent with the previous line
これらの設定では、改行は79文字の後に挿入され、インデントはタブごとに4スペースに設定されます。 Vimを他の言語にも使用している場合は、indent という便利なプラグインがあります。 これはPythonソースファイルのインデント設定を処理します。
syntax という便利な構文プラグインもあります。 これは、Vim 6.1に含まれている構文ファイルの改良点です。
これらのプラグインは、Pythonで開発するための基本的な環境を提供します。
Vimを最大限に活用するには、コードの構文エラーとPEP8準拠を継続的に確認する必要があります。
幸いにも PEP8 と Pyflakes があなたのためにこれを行います。
あなたのVimが +python
でコンパイルされている場合は、非常に便利なプラグインを利用してエディタ内からこれらのチェックを行うこともできます。
PEP8チェックとpyflakesの場合、vim-flake8 をインストールすることができます。
これでVimに必要なホットキーやアクションに Flake8
関数をマップすることができます。
プラグインは画面の下部にエラーを表示し、対応する行にジャンプする簡単な方法を提供します。
ファイルを保存するたびにこの関数を呼び出すのは非常に便利です。
これを行うには、次の行をファイルに追加します
.vimrc
:
autocmd BufWritePost *.py call Flake8()
syntastic を既に使用している場合は、書き込み時にPyflakesを実行し、クイックフィックスウィンドウでエラーと警告を表示するように設定できます。 ステータスバーにステータスと警告メッセージを表示する設定例は、次のとおりです:
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_auto_loc_list=1
let g:syntastic_loc_list_height=5
Pythonモード¶
Python-mode は、VimでPythonコードを操作するための複雑なソリューションです。 それは:
- 任意の組み合わせの非同期Pythonコード検査 (
pylint
、pyflakes
、pep8
、mccabe
) - Rope によるコードリファクタリングとオートコンプリート
- 高速Python折りたたみ
- Virtualenvのサポート
- Pythonのドキュメントを検索し、Pythonコードを実行する
- 自動PEP8_ のエラー修正
そしてさらに。
Emacs¶
Emacsはもう一つの強力なテキストエディタです。 それは完全にプログラム可能(lisp)ですが、それは正しくワイヤリングするいくつかの仕事かもしれません。 既にEmacsのユーザであれば、EmacsWikiの Python Programming in Emacs が良いスタートです。
- Emacs自体にはPythonモードがあります。
TextMate¶
TextMate は、オペレーティングシステムに対するAppleのアプローチをテキストエディタの世界にもたらします。 UNIXの基盤とGUIを橋渡しすることにより、TextMateは熟練したスクリプタや初心者ユーザの利益のために、両方の世界のベストをチェリーピックアップします。
Sublime Text¶
Sublime Text は、コード、マークアップ、散文の洗練されたテキストエディタです。 すっきりとしたユーザーインターフェイス、優れた機能、素晴らしいパフォーマンスが大好きです。
Sublime Textは、Pythonコードの編集をサポートしており、PythonをプラグインAPIとして使用しています。 また、様々な種類のプラグインがあります。その中には 、エディタ内のPEP8チェックとコード “linting” があります。
Atom¶
Atom は、atom-shell上に基づく21世紀のハック可能なテキストエディタであり、私たちがお気に入りのエディタについて愛するすべてのものに基づいています。
AtomはWebネイティブ(HTML、CSS、JS)で、モジュール設計と簡単なプラグイン開発に重点を置いています。 ネイティブのパッケージ制御と多数のパッケージが付属しています。 Pythonの開発には、Linter と linter-flake8 の組み合わせを推奨します。
IDEs¶
PyCharm / IntelliJ IDEA¶
PyCharm はJetBrainsによって開発されたもので、IntelliJ IDEAでも知られています。 Python Plug-In を使用して、Pythonプラグインと同じコードベースを共有し、PyCharmの機能のほとんどをIntelliJにもたらすことができます。 PyCharmには、プロフェッショナル版(30日間無料体験版)とコミュニティ版(Apache 2.0ライセンス)の2つのバージョンがあります。
Python (on Visual Studio Code)¶
Python for Visual Studio は、 Visual Studio Code IDE の拡張です。 これはMac、Windows、Linuxをサポートする、無料の軽量オープンソースIDEです。 Node.jsやPythonなどのオープンソース技術を使用して構築され、Intellisense(オートコンプリート)、ローカルとリモートのデバッグ、lintingなどの魅力的な機能を備えています。
MIT licensed.
Enthought Canopy¶
Enthought Canopy は科学者とエンジニアに 焦点を当てたデータ分析のためのライブラリがインストールされている Python IDE です。
Komodo IDE¶
Komodo IDE はActiveStateによって開発され、 Windows、Mac、Linux用の商用IDEです。 KomodoEdit はオープンソースの代替手段です。
Spyder¶
Spyder は、特に科学的なPythonライブラリ(すなわち、 Scipy )を扱うためのIDEです。 pyflakes、pylint と rope との統合も含まれています。
Spyderはオープンソース(無料)で、コード補完、構文強調表示、クラスと機能のブラウザー、オブジェクト検査を提供します。
WingIDE¶
WingIDE はPython固有のIDEです。 これは、Linux、Windows、Macで動作します(X11アプリケーションとして、一部のMacユーザーを苛立たせます)。
WingIDEは、コード補完、構文強調表示、ソースブラウザ、グラフィカルデバッガ、バージョン管理システムのサポートを提供します。
インタプリタツール¶
仮想環境¶
仮想環境は、プロジェクトパッケージの依存関係を分離する強力な方法を提供します。 つまり、Pythonプロジェクトに特有のパッケージをシステム全体にインストールせずに、バージョン間の競合を避けることができます。
使用を開始し、詳細情報を参照するには: 仮想環境 docs。
pyenv¶
pyenv は複数のバージョンのPythonインタプリタを同時にインストールできるようにするためのツールです。 これにより、Pythonの異なるバージョンを必要とする異なるプロジェクトを持つという問題が解決されます。 たとえば、Python 3.4をデフォルトインタープリタとして使用しながら、あるプロジェクトでPython 2.7を互換性のためにインストールするのは非常に簡単です。 pyenvはCPythonのバージョンだけではなく、PyPy、anaconda、miniconda、stackless、jython、およびironpythonインタープリタもインストールします。
pyenvは shims
ディレクトリにPythonインタプリタの偽のバージョン (pip
や 2to3
などの他のツール) を埋め込むことで動作します。 システムが python
という名前のプログラムを探すと、最初に shims
ディレクトリ内を調べ、偽のバージョンを使用してコマンドをpyenvに渡します。 pyenvは、環境変数、 .python-version
ファイル、およびグローバルデフォルトに基づいてどのバージョンのPythonを実行するかを決定します。
pyenvは仮想環境を管理するツールではありませんが、さまざまな環境の作成を自動化する pyenv-virtualenv プラグインがあります。 既存のpyenvツールを使用して、環境変数や .python-version
ファイルに基づいて異なる環境に切り替えることができます。
Other Tools¶
IDLE¶
IDLE は、Python標準ライブラリの一部である統合開発環境です。 これはPythonで完全に書かれており、Tkinter GUIツールキットを使用しています。 IDLEはPythonを使った本格的な開発には適していませんが、小さなPythonスニペットを試してみて、Pythonのさまざまな機能を試してみることは非常に役に立ちます。
以下の機能を提供します。
- Pythonシェルウィンドウ(インタプリタ)
- Pythonコードを着色するマルチウィンドウテキストエディタ
- 最小限のデバッグ機能
IPython¶
IPython は、Pythonをインタラクティブに使いこなすための豊富なツールキットを提供します。 主なコンポーネントは次のとおりです。
- 強力なPythonシェル(ターミナルおよびQtベース)。
- 同じコア機能を持ちながら、リッチメディア、テキスト、コード、数式、インラインプロットをサポートする ウェブベースのノートブック。インタラクティブなデータの視覚化とGUIツールキットの使用をサポートします。
- 柔軟で埋め込み可能な通訳者が自分のプロジェクトに読み込むことができます。
- 高水準のインタラクティブな並列コンピューティングのためのツール。
$ pip install ipython
IPythonをダウンロードしてインストールするには、ノートブック、qtconsole、テスト、その他の機能のオプションの依存関係が必要です
$ pip install ipython[all]
BPython¶
bpython はUnixライクなオペレーティングシステム用のPythonインタプリタの代替インタフェースです。 それは以下の特徴を有する:
- インライン構文の強調表示。
- 入力時に提案が表示された、読み込みのようなオートコンプリート。
- 任意のPython関数の期待されるパラメータリスト。
- メモリから最後のコード行をポップして再評価する「巻き戻し」機能。
- 入力したコードをペーストビンに送ります。
- 入力したコードをファイルに保存します。
- 自動インデント。
- Python 3のサポート。
$ pip install bpython
ptpython¶
ptpython は、 prompt_toolkit ライブラリの上にあるREPLビルドです。 これは BPython の代わりと考えられています。 機能は次のとおりです。
- シンタックスハイライト
- オートコンプリート
- マルチライン編集
- EmacsとVIMモード
- あなたのコードの中にREPLを埋め込む
- 構文の検証
- タブページ
IPythonをインストールすることで、IPython のシェルとの統合をサポートします。
pip install ipython
と ptipython
を実行します。
$ pip install ptpython