首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AttributeError:模块‘诅咒’没有属性'A_ITALIC‘

AttributeError:模块‘诅咒’没有属性'A_ITALIC‘
EN

Stack Overflow用户
提问于 2022-05-19 17:26:27
回答 2查看 124关注 0票数 0

由于某些原因,我无法理解为什么诅咒不允许我使用A_ITALIC属性。

所有其他属性似乎都不存在任何问题,但斜体特别会触发错误消息。

我正在运行Python3.10.4,下面是一些示例代码:

代码语言:javascript
复制
import curses

def main(stdscr):
    stdscr.addstr(0, 0, "This should be italicized!", curses.A_ITALIC)
    stdscr.getch()

if __name__ == '__main__':
    curses.wrapper(main)
EN

回答 2

Stack Overflow用户

发布于 2022-05-19 19:13:03

MacOS上的Python如果使用新版本的ncurses (自2013年,例如ncures6.x)构建,就可以支持A_ITALIC。MacOS的ncurses的系统版本对此来说太老了。

这同样适用于其他平台上的Python,例如NetBSD和遗留Unix系统。

使用相应的最新版本的Python,您可以使用versionncurses_version函数检查哪个版本的ncurses。然而,即使使用了最近的ncurses版本,Python中也始终存在bug的可能,这会干扰提供该特性。

Python的诅咒包装器(请参阅来源)知道这个特性,因为它的名称是编译的-在内置Python时:

代码语言:javascript
复制
    /* ncurses extension */
#ifdef A_ITALIC
    SetDictInt("A_ITALIC",          A_ITALIC);
#endif

更改底层ncurse不会影响这一点(除非重新构建Python )。

票数 1
EN

Stack Overflow用户

发布于 2022-05-19 17:30:50

来自文档

可用的确切常量与系统有关。

我在macOS上试用了Python3.9.12,但它没有工作,但它确实在Docker容器中使用Python3.10.4。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72308765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档