Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pycharm : how-to launch for a standard terminal (to solve an issue with curses)

I'm facing a weird problem. Using Pycharm (please do not troll about this fact), I'm trying to launch a short app that uses ncurses to render some things on my term.

While I can launch the project in a simple term without any problem, launching it from Pycharm raise the following error :

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 

As far as I can see, all is about terminal environment variables. Pycharm launch the project (Run or Debug) from its own instance of the terminal, and curses will not work with it. So, I am wondering how may I configure Pycharm to launch my project inside a regular terminal.

The project is using Python 2.7. Pycharm is in EAP version 129.258 (doesn't work with other versions, including stables)

Thanks for your attention.

K.

like image 479
Koreth Avatar asked Jun 09 '13 09:06

Koreth


1 Answers

I solved the curses debugging problem by attaching the debugger to a process.

  • Start the program in a terminal
  • Pycharm -> Tools -> Attach to Process
  • Select my prog
  • Done

Trying to attach as non-root requires additional ptrace access rights.

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

On my ubuntu machine: echo 0 > /proc/sys/kernel/yama/ptrace_scope (as root)

respectively set ptrace_scope to 0 in /etc/sysctl.d/10-ptrace.conf

like image 140
another_user Avatar answered Nov 11 '22 05:11

another_user