¿Cómo ejecuto el código Python desde Sublime Text 2?


309

Quiero configurar un IDE completo de Python en Sublime Text 2.

Quiero saber cómo ejecutar el código Python desde el editor. ¿Se hace usando el sistema de construcción? Cómo lo hago ?

Respuestas:


372

Herramientas -> Sistema de compilación -> (elija) Python y luego:

Correr:

      Tools -> Build

      -or-

      Ctrl + B

      CMD + B  (OSX)

Esto iniciaría su archivo en la consola que debería estar en la parte inferior del editor.

Para detener:

       Ctrl + Break or Tools -> Cancel Build

       Fn + C (OSX)

Puede averiguar dónde está su Breakclave aquí: http://en.wikipedia.org/wiki/Break_key .

Nota: CTRL + Cse no trabajar.

Qué hacer cuando Ctrl + Breakno funciona:

Ir:

Preferencias -> Asignaciones de teclas - Usuario

y pegue la siguiente línea:

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

Ahora, puedes usar en ctrl+shift+clugar deCTRL+BREAK


99
El texto sublime también puede "detectar automáticamente" el idioma. Así que funcionó para mí solo CTRL + B
Alexis

44
Asegúrese de que pythonesté en su PATH... el instalador de Windows no parece hacer esto
automáticamente

2
¿Cómo dejas de ejecutar el programa (python)?
Ib33X

3
La tecla de interrupción de mi teclado se parece a "Pausa / Interrupción", así que para detener el proceso también agregué{"keys": ["pause"], "command": "exec", "args": {"kill": true} }
helado

3
Tener la línea {"keys": ["ctrl+shift+c"], "command": "exec", "args": {"kill": true} }en las combinaciones de teclas de usuario y usar ctrl+shift+cimpresiones que la compilación es [Cancelled]mientras el programa aún se está ejecutando.
Devi

56

En Mac OS X, guarde su archivo con una extensión .py. Presione + B. Se ejecuta en una ventana a continuación.

ingrese la descripción de la imagen aquí


55

Editar% APPDATA% \ Sublime Text 2 \ Python \ Python.sublime-build

Cambiar contenido a:

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

cambie la parte "c: \ python27" a cualquier versión de python que tenga en su sistema.


3
Presta atención al doble corte en el camino, ¡Sublime no lo reconocerá de otra manera!
Enrico

66
La barra diagonal simple también funciona en lugar de la barra diagonal inversa doble en Windows: "C: /Python27/python.exe" (a la Linux y OSX)
Dylan Hogg

77
Para mí, la ruta era% APPDATA% \ Sublime Text 2 \ Packages \ Python \ Python.sublime-build
aultimus

55
Parece que no veo la carpeta Python en Sublime Text 3
HoKy22

44

Para EJECUTAR presione CtrlB(respuesta por matiit )

Pero cuando CtrlB no funciona , Sublime Text probablemente no puede encontrar el intérprete de Python. Cuando intente ejecutar su programa, vea el registro y encuentre la referencia a Python en la ruta.

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

El punto es que intenta ejecutar python a través de la línea de comando, el cmd se ve así:

python -u C:\scripts\test.py

Si no puede ejecutar Python desde cmd, Sublime Text tampoco puede.
(Pruébelo usted mismo en cmd, escriba python y ejecútelo, debería aparecer la línea de comandos de python)

SOLUCIÓN

Puede cambiar la fórmula de compilación de Sublime Text o el Sistema %PATH%.

  • Para configurar su %PATH%:
    * Deberá reiniciar su editor para cargar nuevos%PATH%

    • Ejecute la línea de comandos * e ingrese este comando: * debe ejecutarse como administrador,
      SETX /M PATH "%PATH%;<python_folder>"
      por ejemplo:SETX /M PATH "%PATH%;C:\Python27;C:\Python27\Scripts"

    • O manualmente: (preferible)
      Agregar ;C:\Python27;C:\Python27\Scriptsal final de la cadena. Establecer ruta en Win7

  • Para configurar la ruta del intérprete sin meterse con el sistema, %PATH%vea esta respuesta con ppy .


Lo siento, pero ¿puedes explicar cuál es el significado de la opción "-u"? No puedo encontrar la opción de lista de parámetros de línea de comandos para pasar junto con python.exe.
Jim Raynor



6

Si usa Python 3.x necesita editar el Python3.sublime-build

(Preferencias> Buscar paquetes> Python 3)

verse así:

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

4

[Esto se aplica a ST3 (Win), no estoy seguro acerca de ST2]

Para tener la salida visible en Sublime como otro archivo (+ uno para errores), haga esto:

  1. Crea un nuevo sistema de compilación: Tools > Build Systems > New Build System...
  2. Use la siguiente configuración:
    {
        "cmd": ["python.exe", "$ archivo", "1>", "$ nombre_archivo .__ STDOUT __. txt", "2>", "$ nombre_archivo .__ STDERR __. txt"],
        "selector": "source.python",
        "shell": cierto,
        "working_dir": "$ file_dir"
    }
  1. Para su archivo Python, seleccione el archivo de configuración del sistema de compilación anterior: Tools > Build Systems > {your_new_build_system_filename}
  2. ctrl + b
  3. Ahora, al lado de su archivo, por ejemplo "file.py", tendrá "file.__STDOUT__.py"y "file.__STDERR__.py"(para errores, si los hay)
  4. Si divide su ventana en 3 columnas, o una cuadrícula, verá el resultado inmediatamente, sin necesidad de cambiar paneles / ventanas

2

Geniales chicos, acabo de encontrar esto:

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

Explica (como una de las respuestas anteriores) cómo editar este exec.py en el directorio predeterminado .

Tuve el problema de que mi APLICACIÓN PYTHON UI no comenzaría. Comenté la última línea del siguiente recorte:

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

y, taaadaaaa, podría iniciar mi aplicación presionando Ctrl + B. Línea divertida de todos modos, ¿eh? Y muchas gracias a quien escribió ese artículo ;-)


También resolvió mi problema. La salida de la consola aparecía en Sublime Text 2, mostrando que mi código se estaba ejecutando, pero mi GUI nunca apareció. Comenté esa línea, y ahora ahí está. La salida de la consola todavía va a Sublime Text. ¡Perfecto!
Jonathan Lidbeck

1

Puede acceder a la consola de Python a través de "Ver / Mostrar consola" o Ctrl+ `.


1
pero muestra el siguiente error: Archivo ". \ exec.py", línea 109, en el archivo de ejecución ". \ ntpath.py", línea 205, en el archivo de nombre de directorio ". \ ntpath.py", línea 170, en el archivo dividido ". \ ntpath.py", línea 125, en splitdrive TypeError: el objeto 'NoneType' no se puede suscribir
neo

Proporcione más detalles (ampliando la pregunta) sobre lo que está haciendo.
meter el

Simplemente escribo el código de Python como print 'hola' y luego lo compilo y abro la consola para ver este error.
neo

El uso de la consola de Python no responde la pregunta . El intérprete incorporado está diseñado solo para interactuar con la API del complemento, no para desarrollo general.
mkenyon

1

Resolví este problema:

> Preferences –> Browse Packages –> Default 

Abra el exec.pyarchivo, cerca de la línea 41-42, el código debería verse así:

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

luego bórrelo o edítelo como:

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

¿Qué hace en realidad? Como ayuda
Qwerty

@Qwerty Pensó que el programa debería manejar excepciones, por lo que puso el código en un trybloque.
CHM

Intenté esto No solucionó el problema y rompió el comportamiento existente.
Jonathan Lidbeck

1

Me encontré con el mismo problema hoy. Y así es como logré ejecutar el código de Python en Sublime Text 3:

  1. Presione Ctrl+ B(para Mac, + B) para iniciar el sistema de compilación. Debería ejecutar el archivo ahora.
  2. Siga esta respuesta para comprender cómo personalizar el sistema de compilación.

Lo que hay que hacer ahora es reemplazar el contenido Python.sublime-buildde

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

Por supuesto, puede personalizarlo más a algo que funcione para usted.


1

En Python V3.x hay que ir a: Tools->Build System->New Build System.

Luego, aparece la ventana untitled.sublime-build en el editor de texto sublime. Ingrese la configuración como:

{

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

Para ver el camino Type following in terminal as:

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

Puede hacer más de un sistema de compilación, pero debe guardar por defecto dentro de los paquetes de texto sublime con la extensión .sublime-build .

Luego, seleccione el nuevo Sistema de compilación y presione cltr+bu otro según su sistema operativo.


0

Yo tuve el mismo problema. Probablemente aún no haya guardado el archivo. Asegúrese de guardar su código con la extensión .py y debería funcionar.


0

Una cosa a tener en cuenta sobre el sistema de compilación mencionado anteriormente : puede escribir (y usar) .sublime-buildarchivos personalizados o incluso por build_systemscláusula de proyecto (en la configuración de su proyecto). Esto le permite hacer cosas útiles como un corredor de prueba elegante con salida de colores ANSI .

Para obtener aún más funciones de "IDE completo", puede utilizar el excelente paquete SublimePythonIDE :

  • terminación de código (intel)
  • saltar a definición y descripción de objeto
  • linting adecuado / pep8
  • admite diferentes intérpretes con virtualenv

Divulgación: He contribuyó con un PR de ese paquete, y lo uso todo el tiempo, pero no son los demás .


0

Use una consola de Python real junto con Sublime

Tanto el sistema de compilación de Sublime como SublimeREPL (las respuestas anteriores) están limitados ya que no puede interactuar fácilmente con las variables del espacio de trabajo después de ejecutar su archivo.

Si desea ejecutar un script, luego trabaje de forma REPL (como lo haría en un IDE), entonces le recomiendo que abra Sublime junto con una consola IPython. Usando AutoHotKey (Windows) o AutoKey (Linux), puede configurarlo de manera que un solo acceso directo copie el nombre de archivo (o solo el código seleccionado) y luego pegue esto en la consola para ejecutar el archivo.

Instrucciones detalladas para Linux o Windows

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.