2013-06-09 14 views
8

Sono di fronte a un problema strano. Utilizzando Pycharm (per favore non trollare di questo fatto), sto provando a lanciare una breve app che usa ncurses per rendere alcune cose sul mio termine.Pycharm: how-to launch per un terminale standard (per risolvere un problema con curses)

Mentre posso lanciare il progetto in un termine semplice, senza alcun problema, lanciandolo dal PyCharm alzare il seguente errore:

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/curses/__init__.py", line 33, in initscr 
    fd=_sys.__stdout__.fileno()) 
error: setupterm: could not find terminal 

Process finished with exit code 0 

Per quanto posso vedere, tutto è variabili d'ambiente su terminali. Pycharm lancia il progetto (Esegui o Debug) dalla propria istanza del terminale e maledizioni non funzioneranno con esso. Quindi, mi chiedo come posso configurare Pycharm per avviare il mio progetto all'interno di un normale terminale.

Il progetto utilizza Python 2.7. Pycharm è in EAP versione 129.258 (non funziona con altre versioni, comprese le stalle)

Grazie per l'attenzione.

K.

+1

Vedi http://stackoverflow.com/q/135688/104891 o provare a eseguire PyCharm piace questo: 'open -a/Applicazioni/PyCharm.app /'. – CrazyCoder

+1

Credo che il problema sia che PyCharm non usa un vero terminale, quindi non si può fare nulla al riguardo. Basta avviare i programmi da un vero terminale. – Bakuriu

+1

@Bakuriu Si prega di dare un'occhiata all'intera domanda prima di commentare. Come potete vedere, la domanda dice che il problema è che Pycharm non sta lanciando un termine reale, e la domanda suggerisce anche che non voglio lanciarlo da un normale terminale. Grazie per l'attenzione, comunque :) – Koreth

risposta

-1
  • Inizio PyCharm e fare in modo che ncurses è elencato in File-> Impostazioni-> Progetto Interpreter-> Python Interpreter;
  • se sono installati interpreti 2.7 e 3.x, assicurarsi che quello corretto (supporto ncurses) sia selezionato come predefinito per il progetto dal quale si avvia l'applicazione;

Sono più che sicuro di avere installato sia 2.7 sia 3.x sulla macchina - Ho avuto la maggior parte dei problemi con pycharm per il caso in cui sono stati installati entrambi i rami di Python.

5

Ho risolto il problema di debug di curses collegando il debugger a un processo.

  • Avviare il programma in un terminale
  • PyCharm -> Strumenti -> Attach to Process
  • selezionare il mio prog
  • Fatto

Cercando di collegare come non-root richiede ulteriori ptrace diritti di accesso.

spiegato qui: http://blog.mellenthin.de/archives/2010/10/18/gdb-attach-fails-with-ptrace-operation-not-permitted/#comment-141535

Sulla mia macchina Ubuntu: echo 0 > /proc/sys/kernel/yama/ptrace_scope (come root)

rispettivamente SET ptrace_scope to 0 in /etc/sysctl.d/10-ptrace.conf

Problemi correlati