我试图在我的 curses 应用程序中显示很多 unicode 文本。我的开发机器是 MacOSx 10.6,我使用 Apple 附带的默认 python。
Python 2.6.1 (r261:67515, Feb 11 2010, 00:51:29)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
当我在屏幕上添加 unicode 文本时,屏幕全乱了。我试图谷歌寻求解决方案,其他人建议将 _curses 模块与 libncursesw 库而不是 libncurse 库链接。
我检查了我的路径,并在 /opt/local/lib 中找到(见下文)
libncurses++.a
libncurses++w.a
libncurses.5.dylib
libncurses.a
libncurses.dylib
libncursesw.5.dylib
libncursesw.a
libncursesw.dylib
如何检查我的 curses 模块链接到哪个库,以及如何链接到其他库?是否可以在不重新编译我的 Python 的情况下做到这一点?
这有点尴尬,但我想出了在我的环境中正确打印 unicode 的解决方案。我想在某个时候我确实从 Macports 安装了 curses 库,却忘记了我已经拥有它。
文本第一次没有显示的问题是因为我需要在我的 python 程序中设置语言环境。我认为语言环境设置将从我正在运行的 shell 继承,但只需添加两行代码即可解决我的问题:
import locale
locale.setlocale(locale.LC_ALL,"")
不过,很高兴知道 python 外部库在哪里以及如何检查它们。