50

Pythonファイルを開く/実行/編集できるIPython用のGUIはありますか?IDLEでの私の作業方法は、シェルと.pyファイルの2つのウィンドウを開くことです。.pyファイルを編集して実行し、シェルで結果を操作します。

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

4

13 に答える 13

55

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'

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

もう1つの同様のワークフローは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

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

于 2010-08-20T13:59:10.690 に答える
17

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

非常に軽量で高速で、Pythonプロジェクトで作業するために必要なほぼすべての機能をサポートします。埋め込まれたIPythonインスタンスで.pyファイルを編集して実行し、それらと対話したり、ブレークポイントを設定したりできます。

ここに画像の説明を入力してください フルサイズ

于 2010-10-15T02:29:50.583 に答える
5

Spyderを試してみてください。私は一日中ipythonの機能を備えたIDEを見つけようとしてきましたが、Spyderはそれを公園から追い出しました。

オートコンプリートは、インストールから一流であり、構成ファイルなどはありません。また、コードをすぐに実行できるように、隅にIpythonターミナルがあります。

親指を立てる

于 2012-07-12T16:24:17.930 に答える
4

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

于 2010-10-17T07:01:56.893 に答える
3

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

于 2011-02-18T01:10:55.757 に答える
2

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

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

  • でPythonファイルを編集しますVimSpyderファイルを自動的にリロードできます)

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

  • F9現在のファイルを実行するために使用

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

2+を使用Vimconque-shellします。(グーグルコードで

  • でお好みPython interpreterを開きますVim

    たとえば、:ConqueTermSplit python

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

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

注:さらにいくつか:

  • :ConqueTermVSplit python

  • :ConqueTerm python

  • :ConqueTermVSplit rlwrap python

    通訳がミスreadlineした場合は、を使用できますrlwrap

于 2011-01-08T10:37:02.923 に答える
2

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

于 2012-03-26T07:18:47.740 に答える
1

あなたはPySlicesが好きかもしれません...

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

これはwxPythonの一部になっているので、それ(v2.8.11以降)をインストールし、コマンドラインで「python-mwx.py.PySlices」を実行して起動します。

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

于 2011-06-01T16:32:02.653 に答える
1
sudo apt-get install ipython

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

ターミナルからipythonを起動します(ターミナルでヒットipythonするだけです)

ファイルを実行するためravi.pyに必要なのは

%run ravi.py
于 2012-03-10T01:49:35.743 に答える
1

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

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

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

このプラグインには1つの大きな制限があります。それは、Python 3をサポートしていません(計画されています)。

于 2013-11-15T20:19:10.807 に答える
0

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

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

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

Spyderは確かに少し重いですが、興味深いプロジェクトです。

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

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

于 2010-08-24T16:50:38.590 に答える
0

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

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']
于 2016-01-20T17:02:45.897 に答える
0

試してみてくださいPtpython。との統合がはるかに優れていVIMます。を押すだけでVIMで直接編集できますV。また、履歴を参照することもできます。そのため、シェルでほとんどのコードを記述し、コードを段階的に構築できます。

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

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

于 2018-01-10T18:37:03.560 に答える