Python导入报错ModuleNotFoundError:找不到myproject模块求助
解决ModuleNotFoundError: No module named 'myproject'的几种方法
先确认基础结构
- 确保
myproject和resources文件夹下都有__init__.py文件(可以是空文件),Python会把包含这个文件的文件夹识别为可导入的模块。
方法1:把项目根目录加入PYTHONPATH
Python会在PYTHONPATH环境变量列出的目录里搜索模块,你只需要把myproject所在的父目录添加进去:
- Linux/macOS:打开终端,执行
比如export PYTHONPATH="/你的/myproject所在的父目录路径:$PYTHONPATH"myproject在/home/juan/projects下,就写export PYTHONPATH="/home/juan/projects:$PYTHONPATH" - Windows:打开命令提示符,执行
比如set PYTHONPATH=C:\你的\myproject所在的父目录路径;%PYTHONPATH%myproject在C:\Users\Juan\Projects下,就写set PYTHONPATH=C:\Users\Juan\Projects;%PYTHONPATH%
方法2:在代码里手动添加路径
如果不想改环境变量,可以在脚本开头加上这段代码,把项目根目录加到Python的搜索路径里:
import sys import os # 获取myproject所在父目录的绝对路径 # 若脚本和myproject在同一级目录,用下面这行;若脚本在子文件夹,把参数改成'..'(代表上一级目录) project_root = os.path.abspath(os.path.dirname(__file__)) sys.path.append(project_root) # 现在就能正常导入了 from myproject.resources import modelselection
方法3:在项目根目录下运行脚本
打开终端,切换到myproject所在的父目录(比如myproject在projects文件夹里,就执行cd projects),然后直接运行你的脚本:
python your_script.py
这样Python会自动把当前运行目录加入模块搜索路径,就能找到myproject了。
额外注意事项
- 检查文件夹名称拼写,Linux/macOS区分大小写,确保代码里的
myproject和实际文件夹名完全一致。 - 不要给文件夹或文件起和Python内置模块重名的名字(比如不要叫
sys、json),避免冲突。
内容的提问来源于stack exchange,提问作者Juan
相关产品推荐
相关产品推荐

