gpt4 book ai didi

python - KeyError/frozen importlib._bootstrap 在 spyder 中导入第二个库时出错

转载 作者:行者123 更新时间:2023-11-28 20:57:02 24 4
gpt4 key购买 nike

我收到一个

File " <frozen importlib._bootstrap_external> ", line 978, in _get_parent_path    
KeyError: 'python_library'

当我在 spyder 中第二次从子文件夹导入库时出错,但第一次(在重新启动 spyder 之后)或在 spyder 之外它工作正常。

代码是:

from python_library.tools.test_lib import test_func    
test_func()

test_lib.py 就是

def test_func():    
print('Hello!')

输出是:

runfile('/home/user/Desktop/test.py', wdir='/home/user/Desktop')
Hello!

runfile('/home/user/Desktop/test.py', wdir='/home/user/Desktop')
Reloaded modules: python_library, python_library.tools.test_lib
Traceback (most recent call last):

File "< ipython-input-2-e750fd08988c >", line 1, in <module>
runfile('/home/user/Desktop/test.py', wdir='/home/user/Desktop')

File "/home/user/anaconda3/envs/qutip/lib/python3.6/site-packages/spyder_kernels/customize/spydercustomize.py", line 678, in runfile
execfile(filename, namespace)

File "/home/user/anaconda3/envs/qutip/lib/python3.6/site-packages/spyder_kernels/customize/spydercustomize.py", line 106, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)

File "/home/user/Desktop/test.py", line 1, in <module>
from python_library.tools.test_lib import test_func

File "<frozen importlib._bootstrap>", line 971, in _find_and_load

File "<frozen importlib._bootstrap>", line 951, in _find_and_load_unlocked

File "<frozen importlib._bootstrap>", line 894, in _find_spec

File "<frozen importlib._bootstrap_external>", line 1157, in find_spec

File "<frozen importlib._bootstrap_external>", line 1123, in _get_spec

File "<frozen importlib._bootstrap_external>", line 994, in __iter__

File "<frozen importlib._bootstrap_external>", line 982, in _recalculate

File "<frozen importlib._bootstrap_external>", line 978, in _get_parent_path

KeyError: 'python_library'

当库不在子文件夹中时不会发生错误,即

from python_library.test_lib2 import test_func

经常任意运行。但是我有足够的功能,没有子文件夹会很烦人。

这是在 spyder-3.3.2 中发生的,但在 spyder 版本 3.3.0-py36_1 中也发生过。 python 版本为 3.6.4,spyder 通过 anaconda 安装和更新,'python_library' 通过 setup.py 安装(setuptools 版本 40.6.3,也出现在版本 39.2.0-py36_0 中)。

注意:问题中出现了同样的错误 How do I solve a KeyError when importing a python module?但是这个问题没有答案,也没有 spyder 标签。

最佳答案

解决方法是在子文件夹tools中没有空的__init__.py文件,只有在超文件夹python_library中。将文件 __init__.py 添加到工具中使其工作。

关于python - KeyError/frozen importlib._bootstrap 在 spyder 中导入第二个库时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53855836/

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