PyPy 的 curses 库导入错误

1 投票
2 回答
1339 浏览
提问于 2025-04-16 11:42

我一直在使用pypy 1.4,听说它和cpython 2.5完全兼容。但是当我尝试导入curses模块时,却出现了导入错误,尽管curses模块是可以用的。有没有人知道这可能是什么原因呢?

2 个回答

1

这是一个关于错误的报告,您可以在这里查看

3

curses 是一个 Python 模块,它使用了 _curses 这个 C 语言模块。根据 PyPy 的 Python 兼容性页面,内容如下(我强调的部分请注意):

PyPy 实现了 Python 语言的 2.5 版本。它支持所有核心语言功能,并且通过了 Python 测试套件(只做了一些小修改,这些修改在新版本的主流 Python 中已经被接受)。它支持大部分常用的 Python 标准库模块;具体细节见下文。

PyPy 对 CPython 的 C 接口有初步支持,但截至 1.4.1 版本,这个功能还没有完全实现。大多数库可能需要一些额外的工作才能正常使用,但也有一些成功的案例。可以查看 PyPy 的博客获取最新信息。

要让 C 扩展在 PyPy 中工作,需要重新编译。根据你的构建系统,有可能直接就能用,也可能会稍微复杂一些。为了让 PyPy 加载一个 CPython 扩展(这个扩展是用提供的 Python.h 编译的),可以运行以下命令:

import cpyext

在页面的进一步部分,有一个 PyPy 支持的标准库模块列表。我没有看到 curses,不过有一个 _minimal_curses,这可能对你有用。

撰写回答