我试图运行一个名为cursesDb.py
的python文件,但遇到了一个错误。该文件导入诅咒库,但当我使用高级文本编辑器时,我无法运行程序,因为该文件中出现错误:/usr/lib/python3.7/curses/__init__.py
。我使用Linux Ubuntu 19作为操作系统。
有人能告诉我怎么解决这个问题吗?我是python的初学者,正是在以下几行:
setupterm(term=_os.environ.get("TERM", "unknown")
**fd=_sys.__stdout__.fileno())**
当我在崇高的文本中构建ctr + b
时发生错误,如下所示:
_curses.error: setupterm: could not find terminal
谢谢!
这很可能是由于curses
试图确定使用哪种终端类型来执行输出颜色和操作光标位置等操作。
当您在Sublime Text中使用标准构建系统时,它所做的只是捕获程序的输出并将其转储到面板;也就是说,它根本不是一个终端。所以很可能没有TERM
变量集,即使有也没有意义,因为curses
无论如何都不起作用。
在这方面需要注意的一点是,Sublime用来转储输出的"哑终端"不接受输入,因此,如果您的程序希望从用户那里收集某种输入来做某事,那么也会失败。
为了解决这两个问题,你可以这样做:
- 安装Terminus软件包,该软件包在Sublime内部提供一个终端
-
打开您的
sublime-build
文件,在{ }
字符内添加以下密钥(其中的任何位置都可以(。"target": "terminus_exec", "cancel": "terminus_cancel_build",
现在,当您运行构建时,Terminus将打开一个实际的终端并在里面运行您的代码。这更像是curses
所期望的那种环境,如果您的程序需要以任何方式进行交互,这也是必需的。
如果需要,可以在本视频中找到更多关于使任何构建系统与Terminus交互的细节。如果您不确定如何查找和打开正在使用的构建文件,这可能会带来特别的好处。