我的Python项目如图

在notebooks/init.ipynb中,添加了路径sys.path.insert(0, '../src')
接下来pycharm提示错误:
from const import *
from autismDataset import Dataset
等是未解析的引用
请问怎么样能改正这个错误?
我的Python项目如图

在notebooks/init.ipynb中,添加了路径sys.path.insert(0, '../src')
接下来pycharm提示错误:
from const import *
from autismDataset import Dataset
等是未解析的引用
请问怎么样能改正这个错误?
参考免费微信小程序:皆我百晓生 作答,经由专家-皆知整理回复,如问题解决,望采纳;如仍有疑问,请评论回复。
为了解决您在notebooks/init.ipynb中遇到的导入问题,确保Python能够正确地找到src目录下的模块,您已经尝试通过修改系统路径来解决,但仍然遇到未解析的引用错误。这通常是因为Python的导入机制未能正确识别到您的模块。下面是一个详细的步骤指南来帮助您解决这个问题:
首先,确认您的文件结构与描述相匹配。基于描述,您的项目结构应该是这样的:
project_folder/
│
├── notebooks/
│ ├── init.ipynb
│ ├── paper_ablation.ipynb
│ └── ... (其他ipynb文件)
│
├── src/
│ ├── model/
│ │ ├── __init__.py
│ │ ├── ml.py
│ │ └── visualization.py
│ ├── __init__.py
│ ├── autismDataset.py
│ ├── const.py
│ ├── const_autism.py # 注意这里的命名是否与导入一致
│ ├── experiments.py
│ ├── metrics.py
│ ├── prg-py/ # 这里看起来像是一个目录名称错误,应确认
│ ├── stats.py
│ └── utils.py
│
└── ... (可能还有其他顶层目录或文件)
在notebooks/init.ipynb中,当您使用sys.path.insert来添加路径时,应该确保这样做之后的导入语句正确无误。但是,更推荐的做法是在每个需要导入src模块的脚本或笔记本顶部使用相对导入,如果项目被设置为一个包。不过,既然您已经在尝试调整系统路径,确保这样做后,导入语句应该是这样的:
import sys
sys.path.insert(0, '..') # 这样也可以,且更简洁
from src.const import * # 确保const.py存在且正确命名
from src.autismDataset import Dataset # 确保路径和文件名正确
__init__.py每个需要作为Python包导入的目录下都应该有一个__init__.py文件,即使是空文件。从Python 3.3开始,这不再是强制性的,但在一些环境或旧版本的Python中,它仍然是必要的。确保src及其子目录model都有__init__.py。
注意const和const_autism.py之间的区别。如果您想从const_autism.py导入内容,导入语句应该是from src.const_autism import *,而不是简单的from const import *,除非您在const.py中定义了或导入了所有需要的内容。
如果您在PyCharm中工作,还需要确保项目被正确配置为一个Python项目,并且src被识别为源根。可以通过以下步骤操作:
src目录被标记为“Sources”按照上述步骤检查和调整后,应该能解决未解析的引用问题。如果问题依然存在,可能需要检查Python环境的设置或者考虑是否因为虚拟环境的问题导致Python解释器没有正确指向您的项目依赖。