Sublime Text 2からPythonコードを実行するにはどうすればよいですか?


309

Sublime Text 2で完全なPython IDEをセットアップしたい。

エディター内からPythonコードを実行する方法を知りたい。ビルドシステムを使用して行われますか?どうすればいいのですか ?

回答:


372

ツール->ビルドシステム->(選択)Pythonそして:

走る:

      Tools -> Build

      -or-

      Ctrl + B

      CMD + B  (OSX)

これにより、エディターの下部にあるコンソールでファイルが開始されます。

止まる:

       Ctrl + Break or Tools -> Cancel Build

       Fn + C (OSX)

Breakキーの場所は http://en.wikipedia.org/wiki/Break_keyで確認できます。

注:CTRL + Cしないで動作します。

Ctrl + Break動作しない場合の対処法:

移動:

設定->キー割り当て-ユーザー

以下の行を貼り付けます:

{"keys": ["ctrl+shift+c"], "command": "exec", "args": {"kill": true} } 

今、あなたはctrl+shift+c代わりに使うことができますCTRL+BREAK


9
崇高なテキストは言語を「自動検出」することもできます。したがって、CTRL + Bでうまくいった
Alexis

4
にあることを確認pythonしてくださいPATH... Windowsインストーラーがこれを自動的に実行しないようです
SeanJA

2
プログラム(python)の実行をどのように停止しますか?
Ib33X

3
私のキーボードのブレークキーは「一時停止/中断」のように見えるので、プロセスを停止するために追加しました{"keys": ["pause"], "command": "exec", "args": {"kill": true} }
icy

3
{"keys": ["ctrl+shift+c"], "command": "exec", "args": {"kill": true} }ユーザーキーバインドに行を入れて使用するctrl+shift+cと、ビルドが[Cancelled]プログラムの実行中に行われることが出力されます。
Devi

56

Mac OS Xでは、ファイルを.py拡張子で保存します。+を押しBます。下のウィンドウで実行されます。

ここに画像の説明を入力してください


55

%APPDATA%\ Sublime Text 2 \ Python \ Python.sublime-buildを編集します

コンテンツを次のように変更します。

{
    "cmd": ["C:\\python27\\python.exe", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

「c:\ python27」の部分を、システムにある任意のバージョンのpythonに変更します。


3
パスのダブルスラッシュに注意してください。そうでない場合、Sublimeはそれを認識しません。
エンリコ

6
Windowsでの二重バックスラッシュの代わりにシングルスラッシュも機能します: "C:/Python27/python.exe"(àla Linux and OSX)
Dylan Hogg

7
私にとって、パスは%APPDATA%\ Sublime Text 2 \ Packages \ Python \ Python.sublime-build
aultimus

5
Sublime Text 3にPythonフォルダーが表示されないようです
HoKy22

44

実行するためにプレスをCtrlB(で答えmatiit

しかし、CtrlB が機能しない場合、Sublime TextはおそらくPythonインタープリターを見つけることができません。プログラムを実行しようとするときは、ログを見て、パス内のPythonへの参照を見つけてください。

[cmd:  [u'python', u'-u', u'C:\\scripts\\test.py']]
[path: ...;C:\Python27 32bit;...]

ポイントは、コマンドラインを介してpythonを実行しようとすることです。cmdは次のようになります。

python -u C:\scripts\test.py

cmdからpythonを実行できない場合、Sublime Textも実行できません。
(cmdで自分で試して、それにpythonを入力して実行すると、pythonコマンドラインが表示されます)

解決

Sublime Textビルド式またはシステムを変更できます%PATH%

  • を設定するには%PATH%
    * エディタを再起動して新しいものをロードする必要があります%PATH%

    • コマンドライン*を実行し、次のコマンドを入力します*管理者として実行する必要があります。
      SETX /M PATH "%PATH%;<python_folder>"
      例:SETX /M PATH "%PATH%;C:\Python27;C:\Python27\Scripts"

    • または手動:(推奨)文字列の最後に
      追加;C:\Python27;C:\Python27\Scriptsします。 Win7でのパスの設定

  • システムをいじらずにインタープリターのパスを設定するには%PATH%ppyによるこの回答を参照してください。


申し訳ありませんが、オプション「-u」の意味は何ですか?python.exeと一緒に渡すコマンドラインパラメータのリストオプションが見つかりません。
ジムレイナー14

@JimRaynorそれはバッファリングされていないストリームです。stackoverflow.com/questions/14258500/significance -
Qwerty


6

Python 3.xを使用している場合は、 Python3.sublime-build

(設定>パッケージの参照> Python 3)

このように見えるように:

{
  "path": "/usr/local/bin",
  "cmd": ["python3", "-u", "$file"],
  "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
  "selector": "source.python"
}

4

[これはST3(Win)に適用され、ST2については不明です]

Sublimeで出力を別のファイル(+エラー用に1つ)として表示するには、次のようにします。

  1. 新しいビルドシステムを作成します。 Tools > Build Systems > New Build System...
  2. 次の構成を使用します。
    {
        "cmd":["python.exe"、 "$ file"、 "1>"、 "$ file_name .__ STDOUT __。txt"、 "2>"、 "$ file_name .__ STDERR __。txt"]、
        "セレクタ": "source.python"、
        「シェル」:true、
        "working_dir": "$ file_dir"
    }
  1. Pythonファイルには、上記のビルドシステム構成ファイルを選択します。 Tools > Build Systems > {your_new_build_system_filename}
  2. ctrl + b
  3. さて、あなたのファイルの隣に、例えば"file.py"あなたが持っているだろう"file.__STDOUT__.py""file.__STDERR__.py"(エラーのため、もしあれば)
  4. ウィンドウを3列またはグリッドに分割すると、パネル/ウィンドウを切り替える必要なく、結果がすぐに表示されます

2

Cool U guys、私はこれを見つけました:

http://ptomato.wordpress.com/2012/02/09/geek-tip-running-python-guis-in-sublime-text-2/

(上記の回答の1つと同様に)デフォルトのディレクトリでこのexec.pyを編集する方法を説明します。

PYTHON UIアプリケーションが起動しないという問題がありました。次の抜粋の最後の行をコメント化しました。

    # Hide the console window on Windows
    startupinfo = None
    if os.name == "nt":
        startupinfo = subprocess.STARTUPINFO()
        #startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW

taaadaaaa、Ctrl + Bを押すことでアプリを起動できます。とにかく面白いライン、え?そして、その記事を書いた人に感謝します ;-)


私の問題も解決しました。コンソール出力はSublime Text 2内に表示されていて、コードが実行中であることを示していましたが、GUIは表示されませんでした。私はその行にコメントしました、そして今そこにあります。コンソール出力は引き続きSublime Textに送られます。パーフェクト!
Jonathan Lidbeck 2014

1

「コンソールの表示/表示」またはCtrl+ を使用してPythonコンソールにアクセスできます`


1
ただし、次のエラーが表示されます。ファイル "。\ exec.py"、109行目、実行ファイル "。\ ntpath.py"、205行目、dirnameファイル "。\ ntpath.py"、170行目、分割ファイル"。\ ntpath.py"、125行目、splitdrive TypeError: 'NoneType'オブジェクトは添え字なし
neo

あなたが何をしているのか(質問を展開することにより)詳細を教えてください。
突く

print 'hello'のようなPythonコードを入力してビルドし、コンソールを開いてこのエラーを確認します。
neo

Pythonコンソールを使用しても、質問の答えにはなりません。組み込みインタープリターは、一般的な開発ではなく、プラグインAPIとの対話のみを目的としています。
mkenyon 2013

1

私はこの問題を解決しました:

> Preferences –> Browse Packages –> Default 

exec.py41-42行目付近のファイルを開くと、コードは次のようになります。

for k, v in proc_env.iteritems():
    proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())

それを削除するか、次のように編集します。

try:    
    for k, v in proc_env.iteritems():
        proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
except:
    print 'foobar'

それは実際に何をしますか?それはどのように役立ちますか?
Qwerty

@Qwerty彼はプログラムが例外を処理するべきだと考え、コードをtryブロックに入れました。
2013年

私はこれを試しました。問題は修正されず、既存の動作を壊しました。
Jonathan Lidbeck 2014

1

今日も同じ問題に遭遇しました。そして、これがSublime Text 3でPythonコードを実行する方法です:

  1. Ctrl+ B(Macの場合は+ B)を押して、システムのビルドを開始します。これでファイルが実行されます。
  2. この回答に従ってビルドシステムをカスタマイズする方法を理解してください。

次に行う必要があるのは、コンテンツPython.sublime-build

{
    "cmd": ["/usr/local/bin/python", "-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",
}

もちろん、自分に合ったものにカスタマイズすることもできます。


1

Python v3.xでは、次の場所に移動する必要がありますTools->Build System->New Build System

次に、subtitled.sublime-buildウィンドウを崇高なテキストエディターでポップアップします。

{

    "cmd": ["path_to_the_python.exe","-u", "$file"],
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python"
}

パスを確認するにはType following in terminal as

python
>>> import sys
>>>print(sys.executable)

複数のビルドシステムを作成できますが、デフォルトでは.sublime-build拡張子が付いたSublimeのパッケージテキスト内に保存する必要があります。

次に、新しいビルドシステム を選択cltr+bし、OSに基づいてまたはを押します。


0

私も同じ問題を抱えていました。おそらくファイルをまだ保存していません。必ず.py拡張子を付けてコードを保存してください。これで機能するはずです。


0

前述のビルドシステムについて注意すべき点の1つは、カスタム.sublime-buildファイルを記述(および使用)することも、プロジェクトのbuild_systems句ごとに(プロジェクト設定で)することもできます。これにより、ANSIカラー出力を備えた派手なテストランナーなどの便利なことができます。

さらに「完全なIDE」機能については、優れたSublimePythonIDEパッケージを使用できます。

  • コード補完(インテル)
  • 定義とオブジェクトの説明にジャンプ
  • 適切なリンティング/ pep8
  • virtualenvでさまざまなインタープリターをサポート

開示:私はそのパッケージにPRを提供しましたが、それをいつも使用していますが、他に あり ます


0

Sublimeと一緒に実際のPythonコンソールを使用する

SublimeのビルドシステムとSublimeREPL(上記の回答)はどちらも、ファイルを実行した後でワークスペース変数と簡単にやり取りできないという制限があります。

スクリプトを実行し、REPLのような方法で(IDEの場合と同様に)作業する場合は、IPythonコンソールの横でSublimeを開くことをお勧めします。AutoHotKey(Windows)またはAutoKey(Linux)を使用して、単一のショートカットがファイル名(または選択したコードのみ)をコピーし、これをコンソールに貼り付けてファイルを実行するように設定できます。

LinuxまたはWindowsの詳細な手順

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.