简体   繁体   English

从 jupyter notebook 中的父文件夹导入时没有模块名称“src”

[英]No module names 'src' when importing from parent folder in jupyter notebook

I have the following folder structure in my project我的项目中有以下文件夹结构

my_project
  notebook
    |-- some_notebook.ipynb
  src
    |-- preprocess
        |-- __init__.py
        |-- some_processing.py
    __init__.py

Now, inside some_notebook.ipynb I simply want to get the methods from some_processing.py .现在,在some_notebook.ipynb ,我只想从some_processing.py中获取方法。 Now we I run现在我们跑

from src.preprocess import some_processing

from some_notebook.ipynb it always throwssome_notebook.ipynb它总是抛出

ModuleNotFoundError: No module named 'src'

I found multiple questions regarding this and played around with sys.path.append(<path-to-src>) .我发现了多个与此相关的问题并尝试了sys.path.append(<path-to-src>) But I couldn't solve it.但我无法解决它。 Which path do I provide?我提供哪条路径? Something like ../src didnt work? ../src类的东西不起作用?

I checked for example the AlphaFold project from DeepMind and they are using it also with this structure.例如,我检查了DeepMind 的 AlphaFold 项目,他们也在使用这种结构。 I tried to replicate exactly like they did.我试着像他们一样复制。

How can I solve this?我该如何解决这个问题? Which path do I provide in sys.path.append() ?我在sys.path.append()中提供哪条路径?

I appreciate any help!感谢您的帮助!

I found the answer.我找到了答案。 Running跑步

sys.path.insert(1, os.path.join(sys.path[0], '../src'))

made it possible to import anything from parent module src .使得从父模块src导入任何东西成为可能。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM