【问题标题】:ModuleNotFoundError: spec not found for the moduleModuleNotFoundError:未找到该模块的规范
【发布时间】:2021-01-28 15:53:34
【问题描述】:

我正在使用 Jupyter Notebook 并尝试使用 enums.py 文件中的一些类。 如果我向该文件添加新类,那么似乎我必须始终重新启动内核才能在其他“.ipynb”文件中使用它们,这不是最好的解决方案。

经过更多搜索,我在这里找到了更好的解决方案How to reload a module's function in Python?,但我收到以下错误,我不知道如何解决:

ModuleNotFoundError:找不到模块“枚举”的规范

这是我来自notebook.ipynb的代码:

from importlib import reload
reload(enums)
from enums import FieldTypes, MyEnum

这是文件夹结构:

  Jupyter_Notebooks
  |--helpers
  |  |-- __init__.py
  |  |-- enums.py
  |  |-- notebook.ipynb

【问题讨论】:

    标签: python jupyter-notebook ipython


    【解决方案1】:

    来自文档(help(reload)):“该模块之前必须已成功导入。”

    您必须 import enums 才能使 reload(enums) 工作。有关from-imports 的详细信息,请参阅here

    【讨论】:

    • 我在from importlib import reload之前加了import enums,但还是报同样的错误
    • 但是import enums 工作并且import enums; from importlib import reload; reload(enums)reload(enums) 失败?它是否在通过python 直接执行的.py 文件中工作?
    • 嗯...我重新启动了内核,现在它找不到 enums 模块了:ModuleNotFoundError: No module named 'enums'。我可能会放弃 Jupyter Notebook,因为您必须做很多变通方法才能将代码组织在模块中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-21
    • 2020-04-13
    • 2021-09-12
    • 2019-09-11
    • 2018-04-15
    • 2020-09-28
    • 2018-01-21
    相关资源
    最近更新 更多