Problema con el sistema de comstackción de Sublime Text 3: no se puede obtener información del progtwig en ejecución

Estoy tratando de obtener Sublime Text 3 (comstackción 3049, si eso importa) para ejecutar un script de Python. Un simple forro de dos

var = raw_input("Enter something: ") print "You entered ", var 

el cual solicita entrada, la espera y luego la imprime en el indicador de la consola de Windows.

Esto es, ver la cantidad de preguntas similares en el lado, un problema para un gran número de usuarios, así que revisé esas y probé … cosas. Hizo una copia del archivo exec.py, comentó que una línea, hizo un nuevo archivo de comstackción de pythonw, intentó jugar con el archivo de comstackción … nada parece funcionar.

A falta de una solución definitiva, ¿cómo trabajas con Python usando Sublime Text 3?

En primer lugar, ya que estás usando una comstackción de desarrollo, debes ser un usuario registrado (¡bien!) Y te recomiendo que actualices a 3053, la última versión, ya que la más reciente suele ser mejor en términos de problemas conocidos que se están solucionando. En segundo lugar, solo para su información, hay un conjunto bastante completo de documentos (no oficiales) en docs.sublimetext.info . Están bien organizados, bastante actualizados y cubren mucho más terreno que los “oficiales” en sublimetext.com. Finalmente, en respuesta a su comentario , Sublime viene con una versión ligeramente reducida de Python incorporada. ST2 tiene 2.6, mientras que ST3 tiene 3.3, por lo que si escribe complementos, deberá cumplir con esas especificaciones de idioma. Puede ejecutar comandos arbitrarios desde la consola presionando Ctrl ` .

Como se documentó en varias preguntas de SO, el texto sublime por sí solo no puede manejar la entrada a través de raw_input() o input() . Lo mismo se aplica a otros idiomas también: Ruby’s gets , Java’s Scanner , Node’s readline class, etc. La solución más fácil a corto plazo es obtener Package Control si aún no lo tiene, luego instale SublimeREPL . Le permite transferir o ejecutar parte o la totalidad de su código a través del REPL en ejecución (deberá comenzar uno primero).

Si el código que estás ejecutando no funciona bien con SublimeREPL (por ejemplo, estás usando C / C ++ / Java / etc. Y necesitas comstackr el código antes de que se ejecute), o simplemente quieres ejecutarlo independientemente de Sublime , necesitarás hacer tu propio sistema de comstackción . Guarde lo siguiente como Packages/User/Python_cmd.sublime-build :

 { "cmd": ["start", "cmd", "/k", "c:/python27/python.exe", "$file"], "selector": "source.python", "shell": true, "working_dir": "$file_dir" } 

cambiando la ruta a su ejecutable de Python según corresponda. Luego, ve a Tools -> Build System y selecciona Python_cmd , y cuando presionas Ctrl B para construir, se abrirá una nueva ventana de cmd con tu archivo en ejecución. La opción /k regresa al símbolo del sistema, sin cerrar la ventana, después de que el progtwig se haya ejecutado para que pueda examinar la salida, las trazas, etc.