linux系统默认安装了python2.6, 但是发现python2.7 import curses时 提示 找不到_curses 错误。 用pip(python2.7 )安装了curses-2048 (sudo pip install curses-2048) 仍然继续提示
import curses
File “/usr/local/lib/python2.7/curses/__init__.py”, line 15, in <module>
from _curses import *
ImportError: No module named _curses
到底是什么原因呢?明明安装了 curses 呢?
答案:
仔细分析,你应该会发现 第一次没有安装 curses 模块和安装后, 其实提示的错误是不完全一样的。 正常没有安装 curses时,会提示找不到模块 curses, 而这一次提示的是 no module named _curses , 而且提示你在 curses/__init__.py 里第几行的错误。实际上已经load了curses,只是再加载的中间出现了错误。
经过对比python2.6 ,终于发现,原来 pythong2.7/lib-dynload 里没有相应的 curses 库
_curses_panel.so
_curses.so
看到名字,你也许就明白了, 原来 _curses 是指这个 _curses.so 无疑了。
此时你将python2.6 的 这2个so文件拷贝到 pythong2.7 的lib-dynload 文件夹下, 就解决了问题。
but,至于为什么pip install curses-2048 没有安装此2个so, 也不清楚,但是问题总算解决了, 具体的原因待更进一步分析。
解决前,显示:
问题:
解决方法和解决后显示
参考:
1、http://blog.hissummer.com/2015/09/python-no-module-named-_curses%E7%9A%84%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3/