Io uso PyCharm/IntelliJ edizioni della comunità da un Wile da scrivere e il debug degli script Python, ma ora sto cercando di eseguire il debug di un modulo Python , e lo fa PyCharm un parsing errato dell'istruzione della riga di comando, che causa un errore di esecuzione, o forse sto facendo una cattiva configurazione.Intellij/PyCharm può moduli Python non di debug
Questa è la mia configurazione di esecuzione/debug:
E questo viene eseguito quando ho eseguito il modulo (nessun problema qui):
/usr/bin/python3.4 -m histraw
Ma quando il debug, questo è l'output nella console IntelliJ:
/usr/bin/python3.4 -m /opt/apps/pycharm/helpers/pydev/pydevd.py --multiproc --client 127.0.0.1 --port 57851 --file histraw
/usr/bin/python3.4: Error while finding spec for '/opt/apps/pycharm/helpers/pydev/pydevd.py' (<class 'ImportError'>: No module named '/opt/apps/pycharm/helpers/pydev/pydevd')
Process finished with exit code 1
Come si può vedere, i parametri sono analizzati in modo errato e dopo l'opzione -m
viene passato uno script di debug IntelliJ prima del nome del modulo.
Ho provato anche appena messo -m histraw
nel campoScrittura, ma non funziona, quel campo è solo quello di mettere i percorsi script Python, non moduli.
Qualche idea?
Cosa stai cercando di ottenere esattamente eseguendo il tuo script usando il parametro -m e non direttamente? Per quanto ne so, l'opzione -m è stata progettata per semplificare l'esecuzione di moduli di libreria standard; non porta alcun vantaggio per i tuoi script. – yole
Perché sto scrivendo uno * script di riga di comando distribuibile * ed è installabile nel tuo sistema 'PATH' come uno strumento da riga di comando eseguibile, con setuptools e pip tools. Quando si scrive una riga di comando reale in Python, 'setuptools' lo installa nell'ambiente di sistema con un nuovo script standalone, e ** questo script chiama il proprio script originale come un modulo **.Questo può sembrare innocuo quando il codice è in esecuzione, ma non lo è, perché il "ambiente" cambia e alcune parti del codice possono reagire in modo diverso, in particolare le istruzioni di importazione dei moduli o le chiamate al pacchetto sys. *, Ecc. – Mrdev
Quindi perché non crei una copia di uno script che setuptools creerebbe, ed eseguirai lo script da una configurazione di esecuzione di PyCharm? – yole