ModuleNotFoundError:Jyputer 笔记本中没有名为“src”的模块 [重复]

ModuleNotFoundError: No module named 'src' in Jyputer notebook [duplicate]

提问人:John Tipotas 提问时间:9/16/2023 最后编辑:John Tipotas 更新时间:9/21/2023 访问量:83

问:

我的 GitHub 存储库(我克隆了它)中有以下结构:

src
  __init__.py
  |-- data_manipulation
      |-- __init__.py
      |-- processing.py
  preprocessing.py
README.md
ws-notebook.ipynb

在我的ws-notebook.ipynb中,我正在尝试导入

from src.preprocessing import create_data

我收到错误:

"ModuleNotFoundError: No module named 'src'"

我在 conda 环境中使用 VSCode

- Python 3.11.4
- conda 23.7.4
- xgboost 2.0.0

我用过

import sys
import os

结果是:

print(sys.path)
[
'C:\\Users\\User\\AppData\\Local\\Programs\\Microsoft VS Code', 'c:\\Users\\User\\anaconda3\\envs\\xgboost-env\\python311.zip',
...,
]
print(os.getcwd())
['C:\\Users\\User\\AppData\\Local\\Programs\\Microsoft VS Code']

我认为问题是我在我的 D: 驱动器中克隆了我的 GitHub 存储库,不知何故路径被弄乱了,无法对齐。 在那之后,我不知道如何解决它。

python 模块 src

评论

0赞 John Gordon 9/16/2023
你究竟是如何运行这段代码的?我的猜测是,您以这样一种方式运行它,即当前目录与ipynb文件所在的目录不同
0赞 John Gordon 9/16/2023
使用以下代码显示当前目录:import os; print(os.getcwd())
0赞 John Tipotas 9/16/2023
@JohnGordon 你是对的,我必须找出一个包含导入模块的路径的解决方案。非常感谢您的帮助

答:

1赞 Ahmed Gado 9/16/2023 #1

问题可能出在你如何打开笔记本上。您似乎正在使用 vscode。尝试打开 vscode,然后从左上角单击“文件”->“打开文件夹”(或 ctrl + k),然后打开项目文件夹。

此外,您可以添加项目目录的路径,使用sys.path.insert

proj_path = "enter/the/full/path/to/your/project"
# or the next line to get the path on its own
proj_path = os.path.abspath('')
sys.path.insert(1, proj_path)

评论

0赞 John Tipotas 9/16/2023
我使用了您推荐的: ''' proj_path = “C:\\Users\\the\\full\\path\\to\\your\\project” sys.path.insert(1, proj_path) ''' 但这不是一个永久的解决方案,虽然非常感谢
0赞 Ahmed Gado 9/16/2023
我认为问题可能出在你如何打开笔记本上。您似乎正在使用 vscode。尝试打开 vscode,然后从左上角单击“文件”->“打开文件夹”(或 ctrl + k),然后打开项目文件夹。告诉我这是否有效,以便我将其添加到答案中。
0赞 John Tipotas 9/21/2023
你是对的,我设法打开了文件夹(文件 -> 打开文件夹),它正常工作。非常感谢