¿Cómo ejecutar un archivo Python en Notepad ++?

Respuestas:

150

Primera opción: (más fácil, recomendada)

Abra el Bloc de notas ++. En el menú, vaya a: Ejecutar -> Ejecutar .. (F5). Escribir:

C:\Python26\python.exe "$(FULL_CURRENT_PATH)"

Ahora, en lugar de presionar ejecutar, presione guardar para crear un acceso directo para él.

Notas

  • Si tiene Python 3.1: escriba en Python31lugar dePython26
  • Agregue -isi desea que la ventana de la línea de comandos permanezca abierta después de que el script haya terminado

Segunda opción

Utilice una secuencia de comandos por lotes que ejecute la secuencia de comandos de Python y luego cree un acceso directo desde Notepad ++.

Como se explica aquí: http://it-ride.blogspot.com/2009/08/notepad-and-python.html


Tercera opción: (no segura)

El código abre "HKEY_CURRENT_USER \ Software \ Python \ PythonCore", si la clave existe, obtendrá la ruta de la primera clave secundaria de esta clave.

Compruebe si esta clave existe y, si no existe, intente crearla.

Reshure
fuente
1
hmm, gracias por la ayuda hasta ahora. Probé la opción 2, que no funcionó. Decía: i37.tinypic.com/b4fhfm.jpg En Windows 7, ¿este podría ser el problema?
26
Abra el Bloc de notas ++. En el menú, vaya a: Ejecutar -> Ejecutar .. (F5). Escriba: cmd / K "$ (FULL_CURRENT_PATH)"
Ramiz Uddin
1
No entiendo lo del atajo. Lo guardo y le doy una combinación de atajos, pero luego no se ejecutará simplemente presionando esas teclas. ¿Qué estoy haciendo mal? Puedo convertirlo en un comando de complemento y usarlo cuando se selecciona la ventana de la consola. Pero eso derrota completamente el punto.
AlanSE
3
Si bien esta respuesta (n. ° 3) parece ser la más común que he encontrado en la web, no me funciona bien. El problema es que ejecuta todo en el directorio Notepad ++. Por lo tanto, se me ocurrió la siguiente solución: cmd / c "taskkill / F / IM python.exe & cd $ (CURRENT_DIRECTORY) & C: \ Python27 \ python.exe -i" $ (CURRENT_DIRECTORY) \ $ (FILE_NAME ) "" Esto ejecuta el código en la carpeta correcta, y deja un intérprete abierto después de la ejecución. Además, cerrará cualquier otra ventana abierta de Python que tenga y que haya olvidado cerrar, como hago con frecuencia.
copeland3300
6
Actualización: esto funciona para mí también: py -3 -i "$(FULL_CURRENT_PATH)". Enlace útil para comprender el py -3comando: stackoverflow.com/questions/15912063/…
Gabriel Staples
42

@ Respuesta de Ramiz Uddin definitivamente merece más la visibilidad:

  • Abra el Bloc de notas ++
  • En el menú, vaya a: EjecutarEjecutar .. (F5)
  • Escribir: cmd /K python "$(FULL_CURRENT_PATH)"
Matthieu Riegler
fuente
1
Esto funciona y es más fácil de configurar IMO. También agregue -i para que la ventana permanezca abierta cmd / K python -i "$ (FULL_CURRENT_PATH)"
SwampYeti
Vale la pena señalar que esta solución requiere agregar Python a su PATH. Funciona abriendo la línea de comandos y escribiendopython "$(FULL_CURRENT_PATH)"
Stevoisiak
No funciona en Python 3. Para eso, vea mi respuesta aquí: stackoverflow.com/a/48528175/4561887
Gabriel Staples
esto llama cmd window. ¿Podemos llamar a powershell en su lugar?
Ingeniero entusiasta
20

Esto es lo que funcionó para mí:

Abra notepad ++ y presione F5. Obtendrá un pequeño cuadro emergente:

Cuadro emergente para ingresar al programa a ejecutar

Escriba: C: \ Python27 \ python.exe -i "$ (FULL_CURRENT_PATH)" para Python 2.7.

y luego Guardar como ... , y elija su propio combo de teclas para iniciarlo cada vez que desee ejecutar algo

loxsat
fuente
2
Esta es una buena respuesta concisa y la he recomendado a mis pasantes cuando van a configurar NPP para el desarrollo de Python. Pero constantemente tenían problemas para entender dónde escribir el comando, así que agregué un gráfico para reforzar sus (claras para mí) instrucciones. También tuvieron problemas para entender el hecho de que la primera parte del comando C:\Python27\python.exetenía que variar para reflejar dónde se instaló su propio Python, pero que la segunda mitad -i "$(FULL_CURRENT_PATH)"era magia que necesitaba escribirse tal como está.
Anne Gunn
14

En el menú, vaya a: "Ejecutar" -> "Ejecutar ..." (o simplemente presione F5).

Para Python 2, escriba:

py -2 -i "$(FULL_CURRENT_PATH)"

Para Python 3, escriba:

py -3 -i "$(FULL_CURRENT_PATH)"

Referencias:

Para entender pymejor el comando:

py -h

Otro enlace útil para comprender el pycomando: ¿Cómo ejecuto Python 2 y 3 en Windows 7?

Gracias a Reshure por su respuesta que me puso en el camino correcto para resolver esto.

Gabriel Staples
fuente
1
Arriba. Usando esto con CTRL + ALT + Patajo.
akinuri
12

Primero instale Python desde https://www.python.org/downloads/

Ejecuta el instalador

** IMPORTANTE ** Asegúrese de marcar ambos:

  • Instalar lanzador para todos los usuarios
  • Agregar Python 3.6 a la ruta

Haga clic en instalar ahora y finalice la instalación.

Abra notepad ++ e instale el complemento PyNPP desde el Administrador de complementos. Estoy usando N ++ 6.9.2

Guarde un archivo nuevo como new.py

Escriba N ++

import sys

print("Hello from Python!")
print("Your Python version is: " + sys.version) 

Presione Alt + Mayús + F5

Simple como eso.

Adrian P.
fuente
truco para cambiar el atajo: busque el atajo (no el nombre). Deshabilite el que podría entrar en conflicto.
JinSnow
Opcional: para simplemente ejecutar el script (cualquier script, no solo Python) puede usar el complemento RunMe (pero si ejecuta un Python, la consola de Python no aparecerá)
JinSnow
7

Todas las respuestas para la opción de menú Ejecutar-> Ejecutar van con el interruptor "/ K" de cmd, por lo que la terminal permanece abierta, o "-i" para python.exe, por lo que Python fuerza el modo interactivo, ambos para preservar la salida para usted para observar.

Sin embargo cmd /k, debe escribir exitpara cerrarlo, en el python -i- quit(). Si eso es demasiado escribir para su gusto (para mí seguro que lo es :), el comando Ejecutar para usar es

cmd /k C:\Python27\python.exe  "$(FULL_CURRENT_PATH)" & pause & exit

C:\Python27\python.exe- obviamente, la ruta completa a su instalación de Python (o simplemente pythonsi desea ir con el primer ejecutable en la ruta de su usuario).

&es la ejecución incondicional del siguiente comando en Windows - incondicional, ya que se ejecuta independientemente del RC del comando anterior ( &&es "y" - se ejecuta solo si el anterior se completó correctamente, ||- es "o").

pause- imprime "Presione cualquier tecla para continuar..." y espera cualquier tecla (esa salida se puede suprimir si es necesario).

exit - bueno, escribe la salida por ti :)

Entonces, al final, se cmdejecuta python.exeque ejecuta el archivo actual y mantiene la ventana abierta,pause espera a que presione cualquier tecla y exitfinalmente cierre la ventana una vez que presione esa tecla.

Todor Minakov
fuente
1
esta respuesta merece estar en la cima
Ali80
1
La mejor solución que he visto hasta ahora.
Erik Warming
7

También quería ejecutar archivos de Python directamente desde Notepad ++. La opción más común que se encuentra en línea es usar la opción incorporada Run. Entonces tienes dos opciones:

  1. Ejecute el archivo python en la consola (en Windows es el símbolo del sistema ) con un código como este (enlaces :) :ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

    C:\Path\to\Python\python.exe "$(FULL_CURRENT_PATH)"

    (Si la ventana de su consola se cierra inmediatamente después de la ejecución, puede agregar cmd /ka su código . Enlaces :) Esto funciona bien, e incluso puede ejecutar archivos en modo interactivo agregando a su código (enlaces:) .ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí-iingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

  2. Ejecute el programa Python en IDLE con un código similar a este (enlaces:, en estos enlaces se usa, pero estoy usando en su lugar, porque establece el directorio de trabajo actual correcto automáticamente):ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquíC:\Path\to\Python\Lib\idlelib\idle.pyC:\Path\to\Python\Lib\idlelib\idle.batidle.bat

    C:\Path\to\Python\Lib\idlelib\idle.bat "$(FULL_CURRENT_PATH)"

    En realidad, esto no ejecuta su programa en IDLE Shell , sino que abre su archivo python en IDLE Editor y luego debe hacer clic Run Module(o hacer clic en F5) para ejecutar el programa. Entonces abre su archivo en IDLE Editor y luego necesita ejecutarlo desde allí, lo que anula el propósito de ejecutar archivos Python desde Notepad ++.

    Pero, buscando en línea, encontré la opción que agrega '-r' a su código (enlaces :) :ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

    C:\Path\to\Python\Lib\idlelib\idle.bat -r "$(FULL_CURRENT_PATH)"

    Esto ejecutará su programa de Python en IDLE Shell y, debido a que está en IDLE, está por defecto en modo interactivo.

El problema de ejecutar sus archivos de Python a través de la Runopción incorporada es que cada vez que ejecuta su archivo de Python, abre una nueva consola o ventana INACTIVA y pierde todos los resultados de ejecuciones anteriores. Puede que esto no sea importante para algunos, pero cuando comencé a programar en Python, usé Python IDLE , así que me acostumbré a ejecutar el archivo Python varias veces en la misma ventana IDLE Shell . Otro problema con la ejecución de programas de Python desde Notepad ++ es que debe guardar manualmente su archivo y luego hacer clic Run(o presionar F5). Para resolver estos problemas (AFAIK * ) necesita usar Notepad ++ Plugins. El mejor complemento para ejecutar archivos Python desde Notepad ++ es NppExec . (También probé PyNPP y Python Script . PyNPP ejecuta archivos de Python en la consola, funciona, pero puede hacerlo sin el complemento a través de la Runopción incorporada y Python Scriptse usa para ejecutar scripts que interactúan con Notepad ++, por lo que no puede ejecutar sus archivos de Python). Para ejecutar su archivo de Python con el complemento NppExec , debe ir a Plugins -> NppExec -> Executey luego escribir algo como esto (enlaces:ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí :

C:\Path\to\Python\python.exe "$(FULL_CURRENT_PATH)"

Con NppExec también puede guardar su archivo Python antes de ejecutarlo con el comando , establecer el directorio de trabajo con el comando o ejecutar el programa Python en modo interactivo con el comando . Encontré muchos enlacesnpp_save cd "$(CURRENT_DIRECTORY)" -i ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí ) en línea que mencionan estas opciones, pero el mejor uso de NppExec para ejecutar programas de Python lo encontré en el Manual de NppExec, que tiene un capítulo4.6.4. Running Python & wxPython con este código :

npp_console -  // disable any output to the Console
npp_save  // save current file (a .py file is expected)
cd "$(CURRENT_DIRECTORY)"  // use the current file's dir
set local @exit_cmd_silent = exit()  // allows to exit Python automatically
set local PATH_0 = $(SYS.PATH)  // current value of %PATH%
env_set PATH = $(SYS.PATH);C:\Python27  // use Python 2.7
npp_setfocus con  // set the focus to the Console
npp_console +  // enable output to the Console
python -i -u "$(FILE_NAME)"  // run Python's program interactively
npp_console -  // disable any output to the Console
env_set PATH = $(PATH_0)  // restore the value of %PATH%
npp_console +  // enable output to the Console

Todo lo que necesita hacer es copiar este código y cambiar su directorio de Python si usa alguna otra versión de Python (por ejemplo, * Estoy usando Python 3.4, así que mi directorio es C:\Python34). Este código funciona perfectamente, pero hay una línea que agregué a este código para poder ejecutar el programa Python varias veces sin perder el resultado anterior:

npe_console m- a+

a+ es habilitar el modo "agregar" que mantiene el texto de la consola anterior y no lo borra.

m- apaga los mensajes internos de la consola (son de color verde)

El código final que utilizo en la ventana Ejecutar de NppExec es:

npp_console -  // disable any output to the Console
npp_save  // save current file (a .py file is expected)
cd "$(CURRENT_DIRECTORY)"  // use the current file's dir
set local @exit_cmd_silent = exit()  // allows to exit Python automatically
set local PATH_0 = $(SYS.PATH)  // current value of %PATH%
env_set PATH = $(SYS.PATH);C:\Python34  // use Python 3.4
npp_setfocus con  // set the focus to the Console
npe_console m- a+
npp_console +  // enable output to the Console
python -i -u "$(FILE_NAME)"  // run Python's program interactively
npp_console -  // disable any output to the Console
env_set PATH = $(PATH_0)  // restore the value of %PATH%
npp_console +  // enable output to the Console

Puede guardar el código de su NppExec y asignar una tecla de acceso directo a este script de NppExec. ( Debe abrir las opciones avanzadas del complemento de NppExec , seleccionar su script en la Associated scriptlista desplegable, presionar Add/Modify, reiniciar Notepad ++, ir a Notepad ++ 'es Settings->Shortcut Mapper -> Plugin commands, seleccionar su script, hacer clic Modifyy asignar una tecla de acceso directo . Yo quería para poner F5como mi tecla de acceso directo, para hacer eso necesita cambiar la tecla de acceso directo para la opción incorporada Runa otra cosa primero.) Enlaces a capítulos del Manual de NppExec que explican cómo guardar el código de NppExec y asignar una tecla de acceso directo: NppExec's "Execute...", NppExec's script.

PS * : Con el complemento NppExec puede agregar Highlight Filters(que se encuentra en Console Output Filters...) que resaltan ciertas líneas. Lo uso para resaltar las líneas de error en rojo, para hacer eso necesitas agregar Highlight masks: *File "%FILE%", line %LINE%, in <*>yTraceback (most recent call last): como este .

ands
fuente
A partir de 2018, esta es la mejor y más completa respuesta.
Jimmy He
6

Ninguna de las soluciones propuestas anteriormente funcionó para mí. Se necesita una ligera modificación.

Después de presionar F5 en Notepad ++, escriba:

cmd /k "C:\Python27\python.exe $(FULL_CURRENT_PATH)"

El símbolo del sistema permanece abierto para que pueda ver el resultado de su secuencia de comandos.

bartaelterman
fuente
5

Utilizo el complemento NPP_Exec (que se encuentra en el administrador de complementos). Una vez que esté instalado, abra la ventana de la consola (ctrl + ~) y escriba:

cmd

Esto abrirá el símbolo del sistema. Luego escriba:

C:\Program Files\Notepad++> **python "$(FULL_CURRENT_PATH)"**

para ejecutar el archivo actual con el que está trabajando.

erbaker
fuente
4

Deseo que la gente de aquí publique pasos en lugar de solo conceptos generales. Finalmente conseguí que la versión cmd / k funcionara.

Las instrucciones paso a paso son:

  1. En NPP, haga clic en el elemento del menú: Ejecutar
  2. En el submenú, haga clic en: Ejecutar
  3. En el cuadro de diálogo Ejecutar ..., en el campo El programa a ejecutar, elimine cualquier texto existente y escriba: cmd / K "$ (FULL_CURRENT_PATH)" La / K es opcional, mantiene abierta la ventana creada cuando se ejecuta el script. , si quieres eso.
  4. Pulsa el botón Guardar ...
  5. Se abre el cuadro de diálogo Acceso directo; llénelo si desea un atajo de teclado (hay una nota que dice "Esto desactivará el acelerador", sea lo que sea, así que tal vez no desee utilizar el atajo de teclado, aunque probablemente no esté de más asignar uno cuando no necesita un acelerador). En algún lugar creo que debe decirle a NPP dónde está el archivo Python.exe (por ejemplo, para mí: C: \ Python33 \ python.exe). No sé dónde o cómo lo haces, pero al intentar varias cosas aquí, pude hacer eso, no recuerdo qué intento funcionó.
Harry Binswanger
fuente
Supongo que Python está en tu camino. Esto funciona para mí y es por eso que no tuve que decirle a NPP dónde estaba Python (y no creo que haya ningún lugar para decirle a NPP dónde está Python)
Ryan
3

No hay respuesta aquí, o el complemento que encontré proporcionó lo que quería. Un método minimalista para iniciar mi código Python que escribí en Notepad ++ con solo presionar un atajo, preferiblemente sin complementos.

Tengo Python 3.6 (64 bits), para Windows 8.1 x86_64 y Notepad ++ 32bit. Después de escribir su script de Python en Notepad ++ y guardarlo, presione F5 para Run. A continuación, escribir:

"C:\Path\to\Python\python.exe" -i "$(FULL_CURRENT_PATH)"

y presione el botón Ejecutar. La ibandera obliga al terminal a permanecer quieto después de que finaliza la ejecución del código, para que usted lo inspeccione. Este comando lanzará el script en un terminal cmd y el terminal seguirá ahí, hasta que lo cierre escribiendo exit().

Puede guardar esto en un atajo por conveniencia (el mío es CTRL + MAYÚS + P).

Nikos
fuente
2

Hay un problema que no vi resuelto en las soluciones anteriores. Python establece el directorio de trabajo actual en el lugar desde donde se inicia el intérprete. Si necesita que el directorio de trabajo actual sea el mismo directorio donde guardó el archivo, entonces puede presionar F5 y escribir esto:

cmd /K cd "$(CURRENT_DIRECTORY)"&C:\Users\username\Python36-32\python.exe -i "$(FULL_CURRENT_PATH)"

Excepto que reemplazaría C: \ Users \ username \ Python36-32 \ python.exe con la ruta al intérprete de Python en su máquina.

Básicamente, está iniciando la línea de comandos, cambiando el directorio al directorio que contiene el archivo .py que está tratando de ejecutar y luego ejecutándolo. Puede encadenar tantos comandos de línea de comandos como desee con el símbolo '&'.

Ali Mizan
fuente
Notepad ++ no reconoce su CURRENT_DIRECTORYcomo el directorio del archivo de código.
strpeter
2
Muchas gracias por esta respuesta, he estado luchando con el directorio actual durante un tiempo. Aunque hice algunas modificaciones: cmd /K cd "$(CURRENT_DIRECTORY)"&python "$(FULL_CURRENT_PATH)"&pause&exit esto combina todos los elementos de la respuesta anterior.
Thornkey
2

Mi problema fue, como lo mencionó copeland3300, que mi script se ejecuta desde la carpeta notepad ++, por lo que era imposible ubicar otros archivos de proyecto, como archivos de base de datos, módulos, etc. Resolví el problema usando el comando estándar "Ejecutar" de notepad ++ ( F5) y escribiendo:

cmd /k  "cd /d "$(CURRENT_DIRECTORY)" & python "$(FULL_CURRENT_PATH)""

Python estaba en mi RUTA. La ventana de Cmd permaneció abierta después de que finalizó el script.

Farynaa
fuente
1

Extendiendo la respuesta de Reshure

  1. Abrir Ejecutar → Ejecutar ... desde el menú en Notepad ++ (acceso directo: F5)

  2. En el espacio dado, ingrese:

    "$(FULL_CURRENT_PATH)"  -1
  3. Haga clic en Ejecutar

ta da!

Aditya Shankar
fuente
también para el manejo de errores, envuelva todo el código en un intento excepto el bloque, importe el rastreo fuera del intento excepto el bloque (realmente no sé si puede importar el rastreo en el interior), y en la parte excepto agregue,traceback.print_exc();input()
Aditya Shankar
1

Me gustaría evitar el uso de la ruta completa del directorio de Python en la macro Notepad ++. Probé otras soluciones dadas en esta página, fallaron.

El que funciona en mi PC es:

En Notepad ++, presione F5.

Copia / pega esto:

cmd /k cd /d $(CURRENT_DIRECTORY) && py -3 -i $(FULL_CURRENT_PATH)

Entrar.

AdriZ
fuente
0

Empecé a usar Notepad ++ para Python muy recientemente y encontré este método muy fácil. Una vez que esté listo para ejecutar el código, haga clic con el botón derecho en la pestaña de su código en la ventana de Notepad ++ y seleccione "Abrir carpeta contenedora en cmd". Esto abrirá el símbolo del sistema en la carpeta donde está almacenado el programa actual. Todo lo que necesita hacer ahora es ejecutar:

pitón

Esto se hizo en Notepad ++ (compilación 10 de enero de 2015).

No puedo agregar las capturas de pantalla, así que aquí hay una publicación de blog con las capturas de pantalla: http://coder-decoder.blogspot.in/2015/03/using-notepad-in-windows-to-edit-and.html

Rupam Das
fuente
0

En Notepad ++, vaya a Ejecutar → Ejecutar ... , seleccione la ruta y el idle.pyarchivo de su instalación de Python:

C:\Python27\Lib\idlelib\idle.py

agregue un espacio y esto:

"$(FULL_CURRENT_PATH)"

y aqui estas!

Demostración en video:

https://www.youtube.com/watch?v=sJipYE1JT38

marca
fuente
0

En caso de que alguien esté interesado en pasar argumentos a cmd.exe y ejecutar el script python en un entorno virtual, estos son los pasos que utilicé:

En el Bloc de notas ++ -> Ejecutar -> Ejecutar, ingreso lo siguiente:

cmd /C cd $(CURRENT_DIRECTORY) && "PATH_to_.bat_file" $(FULL_CURRENT_PATH)

Aquí introduzco un cd en el directorio en el que existe el archivo .py, de modo que permite acceder a cualquier otro archivo relevante que se encuentre en el directorio del código .py.

Y en el archivo .bat tengo:

@ECHO off
set File_Path=%1

call activate Venv
python %File_Path%
pause
Vandan
fuente
0

Puede ejecutar su script a través de cmd y estar en el directorio de script:

cmd /k cd /d $(CURRENT_DIRECTORY) && python $(FULL_CURRENT_PATH)
Jackssn
fuente
0

Por lo general, prefiero ejecutar mis scripts de Python en el shell interactivo IDLE nativo de Python en lugar de desde el símbolo del sistema o algo así. Lo he probado y me funciona. Simplemente abra "Ejecutar> Ejecutar ...", luego pegue el código a continuación

python  -m idlelib.idle -r "$(FULL_CURRENT_PATH)"

Después de eso, puede guardarlo con su tecla de acceso rápido.

Debe asegurarse de que su Python deseado se agregue y se registre en sus variables de entorno.

Hzzkygcs
fuente