Sublime Text 2'den Python kodunu nasıl çalıştırırım?


309

Sublime Text 2'de tam bir Python IDE ayarlamak istiyorum.

Python kodunu editörden nasıl çalıştıracağımı bilmek istiyorum. Yapı sistemi kullanılarak mı yapılıyor? Nasıl yaparım ?

Yanıtlar:


372

Araçlar -> Sistem Oluştur -> (seçin) Python sonra:

Koşmak:

      Tools -> Build

      -or-

      Ctrl + B

      CMD + B  (OSX)

Bu, dosyanızı düzenleyicinin altında olması gereken konsolda başlatır.

Durdurmak için:

       Ctrl + Break or Tools -> Cancel Build

       Fn + C (OSX)

BreakAnahtarınızın nerede olduğunu öğrenebilirsiniz : http://en.wikipedia.org/wiki/Break_key .

Not: CTRL + Colacak DEĞİL çalışır.

Ctrl + BreakÇalışmadığında ne yapmalı :

Şuraya git:

Tercihler -> Anahtar Bağlantıları - Kullanıcı

ve aşağıdaki satırı yapıştırın:

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

Artık ctrl+shift+cbunun yerineCTRL+BREAK


9
yüce metin dili "otomatik olarak algılayabilir". Bu yüzden benim için sadece CTRL + B
Alexis

4
Emin olun pythonsizin PATH... windows yükleyici bunu otomatik olarak yapmıyor gibi görünüyor
SeanJA

2
programı (python) çalıştırmayı nasıl durdurursunuz?
Ib33X

3
Klavyemin kesme tuşu "Duraklat / Ara" gibi görünüyor, bu yüzden işlemi durdurmak için de ekledim{"keys": ["pause"], "command": "exec", "args": {"kill": true} }
buzlu

3
Satırın {"keys": ["ctrl+shift+c"], "command": "exec", "args": {"kill": true} }Kullanıcı anahtarı bağlamaları olması ve programın devam ederken yapının ctrl+shift+coluşturduğu baskıların kullanılması [Cancelled].
Devi

56

Mac OS X'te dosyanızı .py uzantısıyla kaydedin. + Tuşuna basın B. Aşağıdaki pencerede çalışır.

resim açıklamasını buraya girin


55

% APPDATA% \ Sublime Text 2 \ Python \ Python.sublime-build öğesini düzenle

İçeriği şu şekilde değiştir:

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

"c: \ python27" bölümünü sisteminizde bulunan python sürümleriyle değiştirin.


3
Yoldaki çift eğik çizgiye dikkat edin, Sublime başka türlü tanımıyor!
Enrico

6
Tek eğik çizgi, Windows'ta çift ters eğik çizgi yerine de çalışır: "C: /Python27/python.exe" (à la Linux ve OSX)
Dylan Hogg

7
Benim için yol% APPDATA% \ Sublime Text 2 \ Packages \ Python \ Python.sublime-build
aultimus

5
Yüce Metin 3'te Python klasörünü görmüyorum
HoKy22

44

RUN tuşuna basın CtrlB( matiit ile cevaplayın )

Ancak, CtrlB çalışmadığında , Yüce Metin muhtemelen Python Yorumlayıcısını bulamaz. Programınızı çalıştırmaya çalışırken, günlüğe bakın ve yoldaki Python referansını bulun.

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

Mesele şu ki, komut satırı üzerinden python çalıştırmaya çalışıyor, cmd şöyle görünüyor:

python -u C:\scripts\test.py

Python'u cmd'den çalıştıramazsanız, Yüce Metin de yapamaz.
(Cmd olarak kendiniz deneyin, içine python yazın ve çalıştırın, python komut satırı görünmelidir)

ÇÖZÜM

Sublime Text oluşturma formülünü veya Sistemi değiştirebilirsiniz %PATH%.

  • Ayarlamak için %PATH%:
    * Yeni yüklemek için düzenleyicinizi yeniden başlatmanız gerekecek%PATH%

    • Komut Satırı * çalıştırın ve şu komutu girin: *
      SETX /M PATH "%PATH%;<python_folder>"
      örneğin yönetici olarak çalıştırılmalıdır :SETX /M PATH "%PATH%;C:\Python27;C:\Python27\Scripts"

    • VEYA manuel olarak: (tercih edilir) Dizenin sonuna
      ekleyin ;C:\Python27;C:\Python27\Scripts. Win7'de Yol Ayarlama

  • Sistem ile uğraşmadan tercümanın yolunu ayarlamak için %PATH%bu cevaba ppy bakınız .


Maalesef "-u" seçeneğinin ne anlama geldiğini açıklayabilir misiniz? Python.exe ile birlikte geçmek için komut satırı params liste seçeneğini bulamıyorum.
Jim Raynor


9

SublimeREPL kullanabilirsiniz (önce Paket Kontrolünün kurulu olması gerekir ).


1
Bir komut dosyası penceresinden SublimeREPL'e nasıl veri gönderileceği hakkında ayrıntılar verebilir misiniz, R çalışırken ... python için çalışmasına neden olabilir ...
Matt Bannert

6

Eğer python 3.x kullanıyorsanız, Python3.sublime-build

(Tercihler> Paketlere göz at> Python 3)

şöyle görünmek için:

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

4

[Bu ST3 (Win) için geçerlidir, ST2 hakkında emin değilim]

Çıktının Sublime'da başka bir dosya olarak görünmesini sağlamak için (hatalar için + bir) şunu yapın:

  1. Yeni bir derleme sistemi oluşturun: Tools > Build Systems > New Build System...
  2. Aşağıdaki yapılandırmayı kullanın:
    {
        "cmd": ["python.exe", "$ dosya", "1>", "$ dosya_adı .__ STDOUT __. txt", "2>", "$ dosya_adı .__ STDERR __. txt"],
        "selector": "source.python",
        "shell": doğru,
        "working_dir": "$ file_dir"
    }
  1. Python dosyanız için yukarıdaki derleme sistemi yapılandırma dosyasını seçin: Tools > Build Systems > {your_new_build_system_filename}
  2. ctrl + b
  3. Şimdi dosyanızın yanında, örneğin "file.py"sahip olacaksınız "file.__STDOUT__.py"ve "file.__STDERR__.py"(varsa hatalar için)
  4. Pencerenizi 3 sütuna veya ızgaraya böldüğünüzde, panelleri / pencereleri değiştirmeye gerek kalmadan sonucu hemen görürsünüz

2

Havalı U beyler, bunu buldum:

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

Bu nasıl düzenleneceği (yukarıdaki cevapları biri gibi) açıklar exec.py içinde varsayılan dizine.

PYTHON UI UYGULAMAMIN başlamaması sorunum vardı . Aşağıdaki satırdan son satırı yorumladım:

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

ve taaadaaaa, Ctrl + B tuşlarına basarak uygulamama başlayabilirim. Yine de komik çizgi, değil mi? Ve bu makaleyi yazan herkese çok teşekkür ederim ;-)


Sorunumu da çözdüm. Konsol çıktısı, Sublime Text 2 içinde görünüyordu ve kodumun yürütüldüğünü gösteriyor, ancak GUI'm hiç görünmedi. Bu çizgiyi yorumladım ve şimdi orada. Konsol çıktısı hala Yüce Metin'e gider. Mükemmel!
Jonathan Lidbeck

1

Python konsoluna “Konsolu Görüntüle / Göster” veya Ctrl+ ile erişebilirsiniz `.


1
ancak şu hatayı gösterir: Dosya.. ". \ ntpath.py", satır 125, splitdrive'da TypeError: 'NoneType' nesnesi aboneliği kaldırılamaz
neo

Lütfen ne yaptığınızla ilgili daha fazla ayrıntı verin (soruyu genişleterek).
dürtmek

Ben sadece baskı 'merhaba' gibi python kodu yazın ve sonra oluşturmak ve bu hatayı görmek için konsolu açın.
neo

Python konsolunu kullanmak soruyu cevaplamaz . Gömülü yorumlayıcı, genel geliştirme için değil, yalnızca eklenti API'siyle etkileşime girmeyi amaçlamaktadır.
mkenyon

1

Bu sorunu çözdüm:

> Preferences –> Browse Packages –> Default 

exec.pyDosyayı açın, 41-42 satırının yakınında, kod şöyle görünmelidir:

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

ardından silin veya şu şekilde düzenleyin:

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

aslında ne yapıyor? Nasıl yardımcı olur?
Qwerty

@Qwerty Programın istisnaları ele alması gerektiğini düşündü, böylece kodu bir trybloğa koydu .
CHM

Bunu denedim. Sorunu çözmedi ve mevcut davranışı bozdu.
Jonathan Lidbeck

1

Bugün aynı problemle karşılaştım. Ve işte nasıl Sublime Text 3'te python kodunu çalıştırmayı başardım:

  1. Derleme sistemini başlatmak için Ctrl+ B(Mac için + B) tuşlarına basın . Şimdi dosyayı yürütmelidir.
  2. Derleme sisteminin nasıl özelleştirileceğini anlamak için bu cevabı takip edin .

Bundan sonra ne yapmak gerekir içeriği değiştirmek olduğunu Python.sublime-buildiçin

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

Elbette sizin için çalışan bir şeye daha da özelleştirebilirsiniz.


1

Python'da gitmeli V3.x: Tools->Build System->New Build System.

Ardından, yüce metin düzenleyicide untitled.sublime-build penceresini açar.

{

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

Yolu görmek için Type following in terminal as:

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

Birden fazla Derleme Sistemi yapabilirsiniz, ancak varsayılan olarak .sublime-build uzantılı Sublime metin paketleri içine kaydedilmelidir .

Ardından, yeni Derleme Sistemini seçin ve cltr+bişletim sisteminize bağlı olarak veya tuşuna basın .


0

Ben de aynı problemi yaşadım. Muhtemelen dosyayı henüz kaydetmediniz. Kodunuzu .py uzantısıyla kaydettiğinizden emin olun; çalışmalıdır.


0

Yukarıda belirtilen derleme sistemi hakkında not edilmesi gereken bir şey vardır : özel .sublime-builddosyalar veya hatta proje build_systemscümlesi başına (proje ayarlarınızda) yazabilir (ve kullanabilirsiniz ). Bu, ANSI renk çıkışı ile süslü bir test koşucusu gibi yararlı şeyler yapmanıza izin verir .

Daha da fazla "tam IDE" özellikleri için mükemmel SublimePythonIDE paketini kullanabilirsiniz:

  • kod tamamlama (intel)
  • tanım ve nesne açıklamasına atla
  • uygun astar / pep8
  • virtualenv ile farklı tercümanları destekler

Açıklama: Ben o pakete bir PR katkıda ettik ve bunu her zaman kullanır, ancak orada olan diğerleri .


0

Sublime ile birlikte gerçek bir python konsolu kullanın

Sublime'ın derleme sistemi ve SublimeREPL (yukarıdaki yanıtlar), dosyanızı çalıştırdıktan sonra çalışma alanı değişkenleriyle kolayca etkileşim kuramamanız nedeniyle sınırlıdır.

Bir komut dosyası çalıştırmak istiyorsanız, REPL benzeri bir şekilde çalışın (bir IDE'de olduğu gibi), o zaman bir IPython konsolunun yanında Sublime'ın açık olmasını öneririm. AutoHotKey (Windows) veya AutoKey (Linux) kullanarak, bunu tek bir kısayolun dosya adını (veya yalnızca seçilen kodu) kopyalayıp dosyayı çalıştırmak için konsola yapıştıracağı şekilde ayarlayabilirsiniz.

Linux veya Windows için ayrıntılı talimatlar

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.