gpt4 book ai didi

python - RichIPythonWidget 导入对 pkgutil 模块的副作用

转载 作者:太空宇宙 更新时间:2023-11-03 18:21:55 24 4
gpt4 key购买 nike

显然,导入RichIPythonWidget会对模块pkgutil产生影响。

测试环境:

IPython版本:2.1.0python 版本:2.7 和 2.7.6

显示问题的代码:

import os
import pkgutil

print 'Before 1 ... '
pkgutil.find_loader('os') # call 1
print 'After call 1 ... '

from IPython.qt.console.rich_ipython_widget import RichIPythonWidget

print 'Before call 2 ... '
pkgutil.find_loader('os') # call 2
print 'After call 2 ... '

输出:

Before call 1 ... 
After call 1 ...
Before call 2 ...
Traceback (most recent call last):
File "issue.py", line 11, in <module>
pkgutil.find_loader('os') # call 2
File "/u/bl/Dev/work/inkqt/opt.SuSE-11.4/lib64/python2.7/pkgutil.py", line 467, in find_loader
loader = importer.find_module(fullname)
TypeError: find_module() takes exactly 3 arguments (2 given)

据我了解,我的问题似乎与添加到 sys.meta_path 的对象有关由 IPython 使用,但由 pkgutil 模块使用错误的接口(interface)。但我很难决定谁有罪......

任何解决方法将不胜感激。

谢谢

-贝努瓦

最佳答案

这很可能是由于 IPython 在 IPython/external/qt_loaders.py 中安装了 Qt ImportDenier。 find_module 方法不遵循 finder.find_module(fullname, path=None) 的 PEP302 签名,其中路径是可选的。

我在 IPython 上提交了一个问题:https://github.com/ipython/ipython/issues/5932 .

关于python - RichIPythonWidget 导入对 pkgutil 模块的副作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23960220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com