18

最近、sublimetext 2 を使い始めましたが、今日、plt.show()sublimetext 内で実行すると関数が機能しないように見えることに気付きました。

たとえば、次のスクリプトを作成するとします。

import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.show() 

これを IDLE で実行するとプロットが生成されますが、sublimetext を使用すると出力は生成されません。[Finished] が出力された後、python.exe プロセスを終了するまで「考え」続けます。

sublimetext の使用方法を誤解していませんか?

ありがとう。

4

5 に答える 5

15

より適切な方法は、デフォルトの Python ビルド システム ファイルに 1 行追加するだけです。

"shell": true

または、以下を使用して追加の Python ビルド システムを作成します。

{
    "cmd": ["python", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
    "shell": true
}
于 2013-03-17T23:06:52.687 に答える
14

私の推測では、Sublime Text 2は独自の環境でコードを起動し、コンソール出力のみをトラップして表示します。wxPythonなどのGUIを使用する場合にも同じ問題が存在します。

別の回避策は、コマンドプロンプトを開き、手動で起動することです(pythonfile.py)。

編集: ここでは、「WindowsではGUIが抑制されている」と述べています。

編集2: ここでは、ページの一番下に、それを修正する方法がリストされています。

于 2012-05-31T11:23:17.130 に答える
11

上記のようにシータの答えを試しました。それは正常に動作します。ファイル エクスプローラーから直接 python ファイルを実行する場合のように、コンソールが即座に開いたり閉じたりする場合は、最後に次の行を追加するだけです。

matplotlib.pyplot.show('hold')

ここで回答するのは初めてです。回答形式を守らなかった場合は申し訳ありません。

于 2015-09-03T05:07:46.783 に答える
2

Ubuntuでも同様の問題がありました。私はこのようにプロットしようとしていましたpandas DataFrame:

df = pandas.DataFrame([*range(5)])
df.plot()

しかし、プロットは表示されませんでした。here でplt.show()説明されているように、実行する必要があることがわかりました。

于 2017-10-15T20:15:14.407 に答える