PyPy 的 curses 库导入错误
我一直在使用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
,这可能对你有用。