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

时间:2013-06-09 09:46:59

标签: python python-2.7 pycharm curses

我面临一个奇怪的问题。 使用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 

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

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

感谢您的关注。

ķ。

2 个答案:

答案 0 :(得分:5)

我通过将调试器附加到进程来解决了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 :(得分:-1)

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

我更确定你的机器上安装了2.7和3.x - 我遇到了pycharm的大部分问题,以及安装了Python分支的情况。