10

我面临一个奇怪的问题。使用 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 从它自己的终端实例启动项目(运行或调试),curses 将无法使用它。所以,我想知道如何配置 Pycharm 在常规终端中启动我的项目。

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

感谢您的关注。

K。

4

2 回答 2

7

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

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

我非常确定您的机器上同时安装了 2.7 和 3.x - 对于安装了两个 Python 分支的情况,我遇到了 pycharm 的大部分问题。

于 2013-06-10T07:47:14.810 回答