GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

jonathanslenders

ptpython – より良いPython REPL

投稿日:

より良いPython REPL

ptpython

より良いPython REPL

pip install ptpython

Ptpythonは高度なPython REPLです。 2.6から3.5までのすべてのPythonバージョンで動作し、クロスプラットフォーム(Linux、BSD、OS X、Windows)で動作するはずです。

インストール

pipを使用してインストールします。

pip install ptpython

ptpythonと入力して起動します。

特徴

  • シンタックスハイライト
  • マルチライン編集(上向きの矢印が働く)。
  • オートコンプリート。
  • マウスサポート。 [1]
  • 配色のサポート。
  • ブラケット付きペーストのサポート[2]
  • ViとEmacsの両方のキーバインディング。
  • ダブル幅(中国語)文字のサポート。
  • …と他の多くのもの。

[1]デフォルトでは無効です。 (メニューで有効にする)

[2]端末がそれをサポートしている場合(ほとんどの端末がそうします)、ペーストモードにならずに貼り付けが可能です。 インデントを維持します。

その他のスクリーンショット

設定メニュー:

履歴ページとそのヘルプ:

オートコンプリート:

REPLの埋め込み

どのPythonアプリケーションにもREPLを組み込むのは簡単です:

from ptpython.repl import embed
embed(globals(), locals())

マルチライン編集

コロンの後でEnterキーを押すと、複数行編集モードが自動的にオンになります。

マルチラインモードで入力を実行するには、 Alt+Enter 、またはEsc後にEnter Esc (OS X端末で最初に動作させたい場合は、端末設定で “Use option as meta key”チェックボックスをチェックする必要があります。iTerm2の場合、オプションの中で “Left option as + Esc”をチェックする必要があります。)

構文の検証

実行前に、 ptpythonは入力が構文的に正しいPythonコードであるかどうかを確認します。 そうでない場合は、警告を表示し、カーソルをエラーに移動します。

その他の機能

システムコマンドの実行: Meta-! Emacsモードまたはちょうど! Viナビゲーションモードでは、「シェルコマンド」プロンプトが表示されます。 そこで、REPLを離れることなくシステムコマンドを入力することができます。

テキストの選択:ViナビゲーションモードでV (メジャーV)のEmacsモードでControl+Spaceを押します。

構成

~/.ptpython/config.pyファイルを作成して設定をカスタマイズすることは可能です。

この例を見て、可能なものを見てみましょう: config.py

IPythonのサポート

ptipython (prompt_toolkit – IPython)を実行すると、魔法の機能やシェルの統合のような、IPythonが提供しなければならないすべての機能を備えた素晴らしいインタラクティブなシェルが得られます。 IPythonがインストールされていることを確認してください。 pip install ipython

Djangoのサポート

django-extensionsにはshell_plus管理コマンドがあります。 ptpythonがインストールされると、デフォルトではptpythonまたはptipython使用されます。

PDB

実験的なPDBの代替品があります: ptpdb

Windowsのサポート

prompt_toolkitptpythonは、LinuxとOS XではWindowsよりも優れています。 いくつかのことはうまくいかないかもしれませんが、それは使えます:

よくある質問

QCtrl-Sフォワード検索が機能せず、端末がフリーズします。

A :ターミナルでstty -ixonを実行して、フロー制御を無効にしてみてください。

QMeta -keyは機能しません。

A :一部の端末では、Altキーをメタキーとして機能させる必要がありますが、代わりにキーの前にEscape入力することもできます。

代替案

別の方法が見つかった場合は、問題を作成してここにリストします。 ptpythonに欠けている素敵な機能が見つかった場合は、GitHubの問題も作成してください。おそらくこれを実装します。

特別なおかげで

  • Pygments :シンタックスハイライター
  • ジェダイ :オートコンプリートライブラリ。
  • Docopt :コマンドラインインターフェイス記述言語。
  • wcwidth :ワイド文字に必要な列を決定します。
  • インターフェイスのprompt_toolkit







-jonathanslenders

執筆者: