Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
513 views
in Technique[技术] by (71.8m points)

python - 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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...