python no module named _curses的问题解决
linux系统默认安装了python2.6, 因为qark建议使用2.7.6, 虽然python2.6 也能运行起来(貌似有些问题)还是源码安装python2.7.
下载源码,configure,make,makeinstall后。 发现python2.7 import curses时 提示 找不到_curses 错误。 用pip(python2.7 如果configure的时候–with-ensurepip=yes 则会自动帮你安装pip)安装了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, 也不清楚,但是问题总算解决了, 具体的原因待更进一步分析。
此篇文章已被阅读13047 次
我的开发环境,乌班图16.04,python3.4.3,django1.9.6 用的虚拟环境开发,报这个错,按照大神的方法没解决,求指导,谢谢
python3.4.3 版本相比较 python2.x 相差比较大。 https://pypi.python.org/pypi/UniCurses
安装这个试试。
谢谢大神,方法靠谱