web-dev-qa-db-ja.com

IPythonワークフロー(編集、実行)

Python files?IDLEで作業する私の方法は、シェルと.pyファイルの2つのウィンドウを開くことです。 .pyファイルを実行して、シェルで結果を操作します。

このようなIPythonを使用することは可能ですか?または、別の作業方法がありますか?

50
compie

Pythonを使用しているとき、通常2つのターミナルウィンドウが開いています。1つはIPythonで、もう1つはかなりカスタマイズされたVimです。

2つの優れたリソース:


あなたが望むのはIPythonの魔法の関数であるように聞こえますが_%ed/%edit

できることの例:

In [72]: %ed
IPython will make a temporary file named: c:\docume~1\wjwe312\locals~1\temp\ipython_edit_ar8veu.py

私が入れたファイルに:

x = "Hello World"
print 3

ファイルを保存して終了した後:

Editing... done. Executing edited code...
3
Out[72]: "x = 'Hello world'\nprint 3\n"

In [73]: x
Out[73]: 'Hello world'

関数などを定義できます。ファイルを閉じると、ファイルの内容が実行されることに注意してください。

別の同様のワークフローは、cdを使用して、Pythonお気に入りのエディターで編集しているスクリプトを含むディレクトリに移動します。その後、%run IPython内からのスクリプト。ファイルで定義されたすべてにアクセスできます。たとえば、ファイルに次のものがある場合test.pyあなたの/home/myselfディレクトリ:

    class Tester(object):
        def __init__(self):
            print "hi"

    def knightme(name):
        print "Hello, Sir ", name

その後、次のことができます。

In [42]: cd /home/myself
/home/myself

In [43]: %run test.py # <Tab> autocomplete also works

In [44]: knightme('John')
Hello, Sir  John

In [45]: t = Tester()
Hi

ミックスまたはそれらのワークフローのいずれかを使用すると、IDLEでの作業に慣れている方法と非常によく似たものが得られます。

52
Wayne Werner

Spyder 、以前はSPyderlib/Spyder2として知られていました

かなり軽量で、高速で、ほぼすべてをサポートしています 機能 pythonプロジェクト。次に、それらと対話し、ブレークポイントを設定します。

enter image description here フルサイズ

17
user437037

Spyderを試してみてください。ipythonの機能を備えたIDEを見つけようと、Spyderが公園から追い出します。

オートコンプリートは、インストール直後から最高の設定ファイルであり、設定ファイルはありません。また、すぐにコードを実行できるIpythonターミナルが隅にあります。

大きな親指

5
lilSebastian

DreamPie を見てください。あなたが探しているものかもしれません。

4
Amin Abbaspour

個人的に、私は PyScripter が好きです。残念ながら、Windowsでのみ動作しますが、Wineでも完全に動作します。

3
Hypercube

IdleX の最新バージョンは、IDLE内のIPythonと%editマジックをサポートします。 IPython Shell内のIDLEエディターから、F5(すべてを実行)、F9(選択を実行)、またはCtrl + Enter(サブコードを実行)のいずれかを使用して、ファイルを実行できます。

2
Roger

Matlabの下のワークフローが気に入ったら、おそらく次の2つを試してください。

1SpyderVimの組み合わせを試してください。

  • 編集python Vimのファイル(Spyderはファイルを自動的にリロードできます))

  • Spyderでコードを実行します(同じインタープリターで、これは私にとって重要です):

  • F9を使用して、現在のファイルを実行します

  • Ctrl+F9選択したブロックを実行する

2Vim + conque-Shellを使用します。 ( Googleコード上

  • Vimで希望のPython interpreterを開き、

    例:just:ConqueTermSplit python.

  • 次に、Pythonコードを視覚的に選択します

  • F9を押して、Python interpreter bufferに貼り付けて実行します。

注:もう少し:

  • :ConqueTermVSplit python
  • :ConqueTerm python
  • :ConqueTermVSplit rlwrap python

    インタプリタがreadlineを逃した場合、rlwrapを使用できます。

2
ying17zi

VimとIPythonの双方向の統合を行うvim用の優れたプラグイン、vim-ipythonを提案したいと思います。

http://github.com/ivanov/vim-ipython のプロジェクトページから:

このプラグインを使用すると、IPythonが実行する行またはファイル全体を送信したり、VimでオブジェクトのイントロスペクションとWordの補完を取得したりできます。およびオブジェクト。 IPythonで。

このプラグインには1つの大きな制限があります。python 3(予定))をサポートしていません。

1
rominf

PySlices ...

これは、.pysliceファイルと呼ばれる特別な(ほとんど)変更されたpythonファイルとしてセッションを保存できる、シェル/エディターハイブリッドの一種です。

現在は wxPython の一部であるため、インストールするだけで(v2.8.11以降)、コマンドラインで「python -m wx.py.PySlices」を実行して起動します。

とは言っても、スクリプト(geany)には外部エディターを使用することになります。

1
pyslices
Sudo apt-get install ipython

Ipythonのインストールが完了したら。

ターミナルからipythonを起動します(ターミナルでipythonを押すだけです)

走る ravi.pyファイルに必要なことは

%run ravi.py
1
Ravi

個人的には、@ Wayneが提案したもの、vimとipythonの組み合わせを使用しています...

ただし、別のアプローチを希望する場合は、 spyder をご覧ください。

最新バージョン(1.1)以降、ipythonは完全に統合されるはずです。以前のバージョンをダウンロードする場合、外部シェルとしてipythonを使用すると問題なく動作しますが、スパイダーの気の利いた機能(ワークスペースウィンドウで現在定義されている変数をすべて表示するなど)のいくつかは得られません。

Spyderは間違いなく少し重いですが、興味深いプロジェクトです。

もう1つ(非常に、非常に新しい)同様のプロジェクトを見てみると、 iep です。これは(一種の)シェルとしてのipythonで動作しますが、ipythonの統合がすぐにうまくいくと確信しています。いずれにしても、iepは本質的にスパイダーのより軽量な代替手段です。

これらは両方とも科学計算に向けられているため、matplotlibなどとニース統合されています(したがって、独立したスレッドでguiメインループを自動的に実行できます)。これらは「通常の」IDEとはまったく異なりますが、探しているニッチを非常にうまく満たす可能性があります。

0
Joe Kington

IPythonの自動リロードモジュールを使用して、コードを自動的にリロードできます。

開いた jupyter qtconsoleまたはjupyter consoleおよびタイプ:

%load_ext autoreload
%autoreload 2
from your_work_file import *

これで、保存するたびにyour_work_file.py、自動的にリロードされます。

ヒント:これが自動的に行われるようにするには、次の行をipython_config.pyファイル:

c.InteractiveShellApp.extensions = ['autoreload']         
c.InteractiveShellApp.exec_lines = ['%autoreload 2']
0
Amit Moscovich

Ptpythonを試してください。 VIMとの統合がはるかに優れています。 Vを押すだけでVIMで直接編集できます。また、履歴を参照することもできます。

既にipythonに精通している場合は、ここでptpythonの利点を確認できます。

https://www.youtube.com/watch?v=XDgIDslyAFM

0
alpha_989