一个 import error 请教

2014-07-09 16:14:43 +08:00
 shyrock
运行推荐引擎crab时,报错:
C:\Python27\lib\site-packages\scipy\spatial\__init__.py in <module>()
89 from .kdtree import *
90 from .ckdtree import *
---> 91 from .qhull import *
92 from ._plotutils import *
93

ImportError: DLL load failed: 找不到指定的模块。

新人看不懂from .xxx import这个.是什么意思?
另外这个错误应该怎么查呢?
看了原始代码:
87 from __future__ import division, print_function, absolute_import
88
89 from .kdtree import *
90 from .ckdtree import *
91 from .qhull import *
92 from ._plotutils import *
93
94 __all__ = [s for s in dir() if not s.startswith('_')]
95 __all__ += ['distance']

貌似报错在空行?奇怪
4046 次点击
所在节点    Python
4 条回复
kaneg
2014-07-09 17:42:11 +08:00
应该是某个module中引入了一个native的库,你的环境是windows,所以是dll load failed。
具体的原因还得看你的代码
cakegg
2014-07-09 17:56:25 +08:00
暂时想到两个原因:

1. 检查Package之间的依赖, 比如numpy之类的package可能也要安装
2. 版本不对, 某些库的某些特性可能只支持Python 3.x
shyrock
2014-07-09 18:05:47 +08:00
@kaneg 感谢回答。从报错看,是不是应该查92行?
shyrock
2014-07-09 18:12:08 +08:00
找到问题了。。。scipy的spatial目录下少了qhull.py,不知道咋装的。。。
而且因为新用IPython,没看懂报错信息:
其实
---> 91 from .qhull import *
这个箭头清晰说明了报错的行,我还在92行折腾了半天。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/121774

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX