Come eseguire un file Python in Notepad ++?


Risposte:


150

Prima opzione: (più semplice, consigliata)

Apri Notepad ++. Nel menu vai a: Esegui -> Esegui .. (F5). Digitare:

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

Ora, invece di premere Esegui, premi Salva per creare un collegamento.

Appunti

  • Se hai Python 3.1: digita Python31invece diPython26
  • Aggiungi -ise desideri che la finestra della riga di comando rimanga aperta al termine dello script

Seconda opzione

Usa uno script batch che esegua lo script Python e quindi crea un collegamento a quello da Notepad ++.

Come spiegato qui: http://it-ride.blogspot.com/2009/08/notepad-and-python.html


Terza opzione: (non sicura)

Il codice apre "HKEY_CURRENT_USER \ Software \ Python \ PythonCore", se la chiave esiste, otterrà il percorso dalla prima chiave figlio di questa chiave.

Controlla se questa chiave esiste e, in caso contrario, puoi provare a crearla.


1
hmm, grazie per l'aiuto finora. Ho provato l'opzione 2, ma non ha funzionato. Diceva: i37.tinypic.com/b4fhfm.jpg Su Windows 7, questo potrebbe essere il problema?

26
Apri Notepad ++. Nel menu vai a: Esegui -> Esegui .. (F5). Digita: cmd / K "$ (FULL_CURRENT_PATH)"
Ramiz Uddin

1
Non capisco la cosa delle scorciatoie. Lo salvo e gli do una combinazione di scorciatoia, ma poi non verrà eseguito semplicemente premendo quei tasti. Che cosa sto facendo di sbagliato? Posso renderlo un comando plugin e usarlo quando la finestra della console è selezionata. Ma questo sconfigge completamente il punto.
AlanSE

3
Anche se questa risposta (# 3) sembra essere la più comune che ho trovato sul web, non funziona bene per me. Il problema è che esegue tutto nella directory Notepad ++. Pertanto, ho trovato la seguente soluzione: cmd / c "taskkill / F / IM python.exe & cd $ (CURRENT_DIRECTORY) & C: \ Python27 \ python.exe -i" $ (CURRENT_DIRECTORY) \ $ (FILE_NAME ) "" Questo esegue il codice nella cartella corretta e lascia aperto un interprete dopo l'esecuzione. Inoltre, chiuderà tutte le altre finestre Python aperte che potresti aver trascurato di chiudere, come faccio spesso.
copeland3300

6
Update: questo funziona anche per me: py -3 -i "$(FULL_CURRENT_PATH)". Link utile per comprendere il py -3comando: stackoverflow.com/questions/15912063/…
Gabriel Staples

42

La risposta di @ Ramiz Uddin merita sicuramente più visibilità:

  • Apri Notepad ++
  • Nel menu vai a: EseguiEsegui .. (F5)
  • Digitare: cmd /K python "$(FULL_CURRENT_PATH)"

1
Funziona ed è più facile da configurare IMO. Aggiungi anche -i affinché la finestra rimanga aperta cmd / K python -i "$ (FULL_CURRENT_PATH)"
SwampYeti

Vale la pena notare che questa soluzione richiede l'aggiunta di Python al tuo PERCORSO. Funziona aprendo la riga di comando e digitandopython "$(FULL_CURRENT_PATH)"
Stevoisiak

Non funziona su Python 3. Per questo vedi la mia risposta qui: stackoverflow.com/a/48528175/4561887
Gabriel Staples

questo chiama la finestra cmd. possiamo invece chiamare powershell?
Ingegnere entusiasta

20

Ecco cosa ha funzionato per me:

Apri Notepad ++ e premi F5. Riceverai una piccola finestra popup:

Finestra a comparsa per accedere al programma da eseguire

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

e poi Salva con nome ... e scegli la tua combinazione di tasti per avviarla ogni volta che vuoi eseguire qualcosa


2
Questa è una bella risposta concisa e ho fatto riferimento ai miei stagisti quando vanno a configurare NPP per lo sviluppo di Python. Ma avevano costantemente problemi a capire dove digitare il comando, quindi ho aggiunto una grafica per rafforzare le tue istruzioni (chiare per me). Hanno anche avuto qualche problema a capire il fatto che la prima parte del comando, C:\Python27\python.exedoveva variare per riflettere dove era installato il loro Python, ma che la seconda metà -i "$(FULL_CURRENT_PATH)", era magia che doveva essere digitata così com'è.
Anne Gunn

14

Nel menu vai a: "Esegui" -> "Esegui ..." (o premi semplicemente F5 ).

Per Python 2 digita:

py -2 -i "$(FULL_CURRENT_PATH)"

Per Python 3 digita:

py -3 -i "$(FULL_CURRENT_PATH)"

Riferimenti:

Per capire pymeglio il comando:

py -h

Un altro collegamento utile per comprendere il pycomando: come faccio a eseguire Python 2 e 3 in Windows 7?

Grazie a Reshure per la sua risposta che mi ha portato sulla strada giusta per capirlo.


1
Su. Usandolo con CTRL + ALT + Pscorciatoia.
akinuri

12

Prima installa Python da https://www.python.org/downloads/

Esegui il programma di installazione

** IMPORTANTE ** Assicurati di controllare entrambi:

  • Installa launcher per tutti gli utenti
  • Aggiungi Python 3.6 al percorso

Fare clic su Installa ora e terminare l'installazione.

Apri notepad ++ e installa il plugin PyNPP da Plugin Manager. Sto usando N ++ 6.9.2

Salva un nuovo file come new.py

Digita N ++

import sys

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

Premi Alt + Maiusc + F5

Semplice come quella.


trucco per cambiare la scorciatoia: cerca la scorciatoia (non il nome). Disabilita quello che potrebbe entrare in conflitto.
JinSnow

Opzionale: per eseguire semplicemente lo script (qualsiasi script, non solo python) puoi utilizzare il plugin RunMe (ma se esegui un python la console python non apparirà)
JinSnow

7

Tutte le risposte per l'opzione di menu Esegui-> Esegui vanno con l'opzione "/ K" di cmd, quindi il terminale rimane aperto, o "-i" per python.exe quindi python forza la modalità interattiva - entrambi per conservare l'output per te osservare.

Eppure in cmd /kdevi digitare exitper chiuderlo, nel python -i- quit(). Se è troppo da scrivere per i tuoi gusti (per me lo è sicuramente :), il comando Esegui da usare è

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

C:\Python27\python.exe- ovviamente il percorso completo della tua installazione di python (o solo pythonse vuoi andare con il primo eseguibile nel percorso del tuo utente).

&è l'esecuzione incondizionata del comando successivo in Windows - incondizionata in quanto viene eseguito indipendentemente dal RC del comando precedente ( &&è "e" - viene eseguito solo se il precedente è stato completato correttamente, ||- è "o").

pause- stampa "Premere un tasto qualsiasi per continuare..." e attende qualsiasi tasto (quell'output può essere soppresso se necessario).

exit - beh, digita l'uscita per te :)

Quindi alla fine, cmdesegue python.exeche esegue il file corrente e mantiene la finestra aperta, pauseaspetta che tu prema un tasto qualsiasi, e exitinfine chiude la finestra una volta premuto quel tasto qualsiasi.


1
questa risposta merita di essere in cima
Ali80

1
la migliore soluzione che ho visto così fare.
Erik Warming

7

Volevo anche eseguire file python direttamente da Notepad ++. L'opzione più comune trovata online utilizza l'opzione incorporata Run. Quindi hai due opzioni:

  1. Esegui il file python nella console (in Windows è il prompt dei comandi ) con un codice simile a questo (link:) :inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

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

    (Se la finestra della console si chiude immediatamente dopo l'esecuzione, è possibile aggiungere cmd /kal codice . Collegamenti :) Funziona bene e puoi persino eseguire file in modalità interattiva aggiungendoli al codice (link:) .inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine-iinserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

  2. Esegui il programma python in IDLE con un codice simile a questo (link:, in questi collegamenti viene utilizzato, ma lo sto usando invece, perché imposta automaticamente la directory di lavoro corrente corretta):inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagineC:\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)"

    In realtà, questo non esegue il programma in IDLE Shell , ma apre invece il file python nell'editor IDLE e quindi è necessario fare clic Run Module(o fare clic su F5) per eseguire il programma. Quindi apre il tuo file in IDLE Editor e quindi è necessario eseguirlo da lì, il che vanifica lo scopo di eseguire file python da Notepad ++.

    Ma, cercando in linea, ho trovato un'opzione che aggiunge "-r" al tuo codice (link :) :inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

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

    Questo eseguirà il tuo programma python in IDLE Shell e poiché è in IDLE è per impostazione predefinita in modalità interattiva.

Il problema con l'esecuzione dei file python tramite l' Runopzione incorporata è che ogni volta che si esegue il file python, si apre una nuova console o una finestra IDLE e si perde tutto l'output delle precedenti esecuzioni. Questo potrebbe non essere importante per alcuni, ma quando ho iniziato a programmare in python, ho usato Python IDLE , quindi mi sono abituato a eseguire file python più volte nella stessa finestra della shell IDLE . Un altro problema con l'esecuzione di programmi Python da Notepad ++ è che è necessario salvare manualmente il file e quindi fare clic Run(o premere F5). Per risolvere questi problemi (AFAIK * ) è necessario utilizzare i plugin Notepad ++. Il miglior plugin per eseguire file python da Notepad ++ è NppExec . (Ho provato anche PyNPP e Python Script. PyNPPesegue file python nella console, funziona, ma puoi farlo senza plug-in tramite l' Runopzione incorporata e Python Script viene utilizzato per eseguire script che interagiscono con Notepad ++, quindi non puoi eseguire i tuoi file python.) Per eseguire il tuo file python con il plug-in NppExec avete bisogno di andare a Plugins -> NppExec -> Executee quindi digitare in qualcosa di simile a questo (link: ):inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

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

Con NppExec puoi anche salvare il tuo file python prima di eseguirlo con il comando , impostare la directory di lavoro con il comando o eseguire il programma python in modalità interattiva con il comando . Ho trovato molti link ( ) online che menzionano queste opzioni, ma il miglior uso di NppExec per eseguire programmi python l'ho trovato nel Manuale di NppExec che ha un capitolo con questo codice :npp_save cd "$(CURRENT_DIRECTORY)" -i inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine4.6.4. Running Python & wxPython

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

Tutto quello che devi fare è copiare questo codice e cambiare la tua directory python se usi qualche altra versione di python (es. * Sto usando python 3.4 quindi la mia directory è C:\Python34). Questo codice funziona perfettamente, ma c'è una riga che ho aggiunto a questo codice in modo da poter eseguire più volte il programma Python senza perdere l'output precedente:

npe_console m- a+

a+ è abilitare la modalità "append" che mantiene il testo della console precedente e non lo cancella.

m- disattiva i messaggi interni della console (quelli sono di colore verde)

Il codice finale che utilizzo nella finestra Execute di NppExec è:

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

Puoi salvare il tuo codice NppExec e assegnare un tasto di scelta rapida allo script di questo NppExec. (È necessario aprire le opzioni avanzate del plug-in di NppExec , selezionare lo script Associated scriptnell'elenco a discesa, premere Add/Modify, riavviare Notepad ++, andare su Notepad ++ Settings->Shortcut Mapper -> Plugin commands, selezionare lo script, fare clic Modifye assegnare un tasto di scelta rapida . da mettere F5come tasto di scelta rapida, per farlo è necessario prima cambiare il tasto di scelta rapida per l'opzione incorporata Runin qualcos'altro.) Collegamenti ai capitoli del Manuale di NppExec che spiegano come salvare il codice di NppExec e assegnare un tasto di scelta rapida: NppExec's "Execute...", NppExec's script.

PS * : Con il plugin NppExec puoi aggiungere Highlight Filters(trovato in Console Output Filters...) che evidenzia alcune linee. Io lo uso per evidenziare le linee di errore in rosso, per fare questo è necessario aggiungere Highlight masks: *File "%FILE%", line %LINE%, in <*>e Traceback (most recent call last):come questo .


A partire dal 2018, questa è la risposta migliore e più completa.
Jimmy He

6

Nessuna delle soluzioni proposte in precedenza ha funzionato per me. È necessaria una leggera modifica.

Dopo aver premuto F5 in Notepad ++, digita:

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

Il prompt dei comandi rimane aperto in modo da poter vedere l'output dello script.


5

Uso il plugin NPP_Exec (che si trova nel gestore dei plugin). Una volta installato, apri la finestra della console (ctrl + ~) e digita:

cmd

Questo avvierà il prompt dei comandi. Quindi digita:

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

per eseguire il file corrente con cui stai lavorando.


4

Vorrei che le persone qui pubblicassero passaggi anziché solo concetti generali. Alla fine ho fatto funzionare la versione cmd / k.

Le istruzioni passo passo sono:

  1. In NPP, fare clic sulla voce di menu: Esegui
  2. Nel sottomenu, fare clic su: Esegui
  3. Nella finestra di dialogo Esegui ..., nel campo Il programma da eseguire, elimina qualsiasi testo esistente e digita: cmd / K "$ (FULL_CURRENT_PATH)" La / K è opzionale, mantiene aperta la finestra creata quando lo script viene eseguito , se lo vuoi.
  4. Premi il pulsante Salva ...
  5. Si apre la finestra di dialogo Collegamento; compila se vuoi una scorciatoia da tastiera (c'è una nota che dice "Questo disabiliterà l'acceleratore" qualunque cosa sia, quindi forse non vuoi usare la scorciatoia da tastiera, anche se probabilmente non fa male assegnarne una quando non serve un acceleratore). Da qualche parte penso che tu debba dire a NPP dove si trova il file Python.exe (ad esempio, per me: C: \ Python33 \ python.exe). Non so dove o come lo fai, ma provando varie cose qui, sono stato in grado di farlo - non ricordo quale tentativo abbia funzionato.

Immagino che Python sia proprio sulla tua strada. Questo funziona per me ed è per questo che non ho dovuto dire a NPP dove fosse Python (e non credo che ci sia alcun posto per dire a NPP dove si trova Python)
Ryan

3

Nessuna risposta qui, o il plugin che ho trovato ha fornito quello che volevo. Un metodo minimalista per avviare il mio codice Python che ho scritto su Notepad ++ con la semplice pressione di una scorciatoia, preferibilmente senza plugin.

Ho Python 3.6 (64 bit), per Windows 8.1 x86_64 e Notepad ++ 32 bit. Dopo aver scritto il tuo script Python in Notepad ++ e averlo salvato, premi F5 per Run. Allora scrivi:

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

e premi il pulsante Esegui. Il iflag forza il terminale a rimanere fermo dopo che l'esecuzione del codice è terminata, per consentirti di ispezionarlo. Questo comando avvierà lo script in un terminale cmd e il terminale rimarrà lì, finché non lo chiuderai digitandoexit() .

Puoi salvarlo in una scorciatoia per comodità (il mio è CTRL + MAIUSC + P).


2

C'è un problema che non ho visto risolto nelle soluzioni precedenti. Python imposta la directory di lavoro corrente nel punto da cui avvii l'interprete. Se hai bisogno che la directory di lavoro corrente sia la stessa directory in cui hai salvato il file, puoi premere F5 e digitare questo:

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

Tranne che dovresti sostituire C: \ Users \ nomeutente \ Python36-32 \ python.exe con qualunque sia il percorso dell'interprete python sulla tua macchina.

Fondamentalmente stai avviando la riga di comando, cambiando la directory nella directory contenente il file .py che stai cercando di eseguire e quindi eseguendolo. Puoi unire tutti i comandi della riga di comando che desideri con il simbolo "&".


Notepad ++ non riconosce il tuo CURRENT_DIRECTORYcome directory del file di codice.
strpeter

2
Grazie mille per questa risposta: ho lottato con la directory corrente per un po '. Ho creato alcune modifiche: cmd /K cd "$(CURRENT_DIRECTORY)"&python "$(FULL_CURRENT_PATH)"&pause&exit questo combina tutti gli elementi della risposta precedente.
Thornkey

2

Il mio problema era, come è stato menzionato da copeland3300, che il mio script è in esecuzione dalla cartella notepad ++, quindi era impossibile individuare altri file di progetto, come file di database, moduli ecc. Ho risolto il problema utilizzando il comando "Esegui" di notepad ++ standard ( F5) e digitando:

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

Python ERA nel mio PERCORSO. La finestra del cmd è rimasta aperta al termine dello script.


1

Estendere la risposta di Reshure

  1. Aprire Run → Esegui ... dalla barra dei menu in Notepad ++ (scorciatoia: F5)

  2. Nello spazio dato, inserisci:

    "$(FULL_CURRENT_PATH)"  -1
  3. Fare clic su Esegui

ta da!


anche per la gestione degli errori avvolgere l'intero codice in un blocco try eccetto, importare il traceback fuori dal blocco try eccetto (non so davvero se è possibile importare il traceback all'interno) e nella parte eccetto aggiungere,traceback.print_exc();input()
Aditya Shankar

1

Vorrei evitare di utilizzare il percorso completo della directory python nella macro Notepad ++. Ho provato altre soluzioni fornite in questa pagina, non sono riuscite.

Quello che funziona sul mio PC è:

In Notepad ++, premi F5.

Copia / incolla questo:

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

Accedere.


0

Ho iniziato a usare Notepad ++ per Python molto recentemente e ho trovato questo metodo molto semplice. Una volta che sei pronto per eseguire il codice, fai clic con il pulsante destro del mouse sulla scheda del codice nella finestra Notepad ++ e seleziona "Apri cartella contenente in cmd". Questo aprirà il prompt dei comandi nella cartella in cui è archiviato il programma corrente. Tutto quello che devi fare ora è eseguire:

pitone

Questo è stato fatto su Notepad ++ (Build 10 Jan 2015).

Non riesco ad aggiungere gli screenshot, quindi ecco un post sul blog con gli screenshot: http://coder-decoder.blogspot.in/2015/03/using-notepad-in-windows-to-edit-and.html


0

In Notepad ++, vai su Esegui → Esegui ... , seleziona il percorso e il idle.pyfile della tua installazione di Python:

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

aggiungi uno spazio e questo:

"$(FULL_CURRENT_PATH)"

ed eccoti qui!

Dimostrazione video:

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


0

Nel caso in cui qualcuno sia interessato a passare argomenti a cmd.exe e ad eseguire lo script python in un ambiente virtuale, questi sono i passaggi che ho usato:

In Notepad ++ -> Esegui -> Esegui, inserisco quanto segue:

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

Qui accedo alla directory in cui esiste il file .py, in modo che consenta l'accesso a qualsiasi altro file rilevante che si trova nella directory del codice .py.

E sul file .bat ho:

@ECHO off
set File_Path=%1

call activate Venv
python %File_Path%
pause

0

Puoi eseguire lo script tramite cmd ed essere nella directory script:

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

0

Di solito preferisco eseguire i miei script python sulla shell interattiva IDLE nativa di python piuttosto che dal prompt dei comandi o qualcosa del genere. L'ho provato e funziona per me. Apri "Esegui> Esegui ...", quindi incolla il codice sottostante

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

Dopodiché, puoi salvarlo con il tuo tasto di scelta rapida.

Devi assicurarti che il tuo python desiderato sia aggiunto e registrato nelle tue variabili d'ambiente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.