加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

用“knee.py”导入numpy和scipy的神秘错误

发布时间:2020-12-20 13:23:58 所属栏目:Python 来源:网络整理
导读:Python源代码中包含一个名为knee.py的文件.它使用它自己的钩子覆盖常规import语句.代码应该是正确的,对于内置模块和单个文件模块,它是.但是,当我尝试使用它导入numpy时,我得到了一个奇怪的错误(两者都不同). (...long stack trace) File "knee.py",line 101,
Python源代码中包含一个名为knee.py的文件.它使用它自己的钩子覆盖常规import语句.代码应该是正确的,对于内置模块和单个文件模块,它是.但是,当我尝试使用它导入numpy时,我得到了一个奇怪的错误(两者都不同).

(...long stack trace)
  File "knee.py",line 101,in import_module
    m = imp.load_module(fqname,fp,pathname,stuff)
TypeError: import_hook() takes at most 4 arguments (5 given)

我不明白为什么会发生这种情况?可能是因为自我被传递了吗? knee.py中的所有代码都不是为对象编写的,而且我很确定imp.load_module不会期望自我参数.有没有人知道可能导致问题的原因是什么?我甚至保留了导入内容的记录,似乎代码不会立即遇到问题,只有在导入其他一些东西后才能进入numpy.

对于scipy的情况,我收到一个错误,这可能与numpy事件有关:

(...long stack trace)
  File "/usr/apps/python2.6/lib/python2.6/site-packages/numpy/core/__init__.py",line 10,in <module>
    import _sort
  File "knee.py",line 16,in import_hook
    q,tail = find_head_package(parent,name)
  File "knee.py",line 52,in find_head_package
    q = import_module(head,qname,parent)
  File "knee.py",stuff)
ImportError: numpy.core.multiarray failed to import

有没有人知道会发生什么?

解决方法

解决了. (仅保证包装模块numpy和scipy的解决方案)

我实施了自己的解决方案.请注意,虽然我在这里发布的代码有效,但它包含一堆愚蠢的调试语句,并注释掉了可以删除的代码,以及做了一些与我想要使用它相关的其他事情.

我的解决方案:mknee.py

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读