Pycharm:如何为标准终端启动(解决curses问题)

Kor*_*eth 9 python curses pycharm python-2.7

我面临着一个奇怪的问题.使用Pycharm(请不要拖延这个事实),我正在尝试启动一个简短的应用程序,用于ncurses在我的术语上呈现一些东西.

虽然我可以在没有任何问题的情况下以简单的术语启动项目,但从Pycharm启动它会引发以下错误:

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 
Run Code Online (Sandbox Code Playgroud)

据我所知,所有都是关于终端环境变量.Pycharm从它自己的终端实例启动项目(Run或Debug),curses不能使用它.所以,我想知道如何配置Pycharm在常规终端内启动我的项目.

该项目使用的是Python 2.7.Pycharm在EAP版本129.258中(不适用于其他版本,包括稳定版)

感谢您的关注.

K.

小智 6

我通过将调试器附加到进程来解决了curses调试问题.

  • 在终端中启动程序
  • Pycharm - >工具 - >附加到流程
  • 选择我的编程
  • 完成

尝试以非root身份进行附加需要额外的ptrace访问权限.

在这里解释:http://blog.mellenthin.de/archives/2010/10/18/gdb-attach-fails-with-ptrace-operation-not-permitted/#comment-141535

在我的ubuntu机器上:( echo 0 > /proc/sys/kernel/yama/ptrace_scope以root身份)

分别设定 ptrace_scope to 0 in /etc/sysctl.d/10-ptrace.conf


小智 -1

  • 启动PyCharm并确保ncurses在File->Settings->Project Interpreter->Python Interpreter中列出;
  • 如果您安装了 2.7 和 3.x 解释器,请确保选择正确的解释器(支持 ncurses)作为启动应用程序的项目的默认解释器;

我非常确定您的计算机上安装了 2.7 和 3.x - 在安装了两个 Python 分支的情况下,我遇到了 pycharm 的大多数问题。