Python项目模块导入报错:No module named project求助
解决"No module named project"错误的几种方法
方法1:以模块形式运行脚本
不要直接执行baz.py文件,改用Python的-m参数以模块方式启动,命令修改为:
C:\...\project> & C:/Python39/python.exe -m test.baz
这种方式会让Python自动把project所在的目录加入模块搜索路径,自然就能识别project模块了。
方法2:手动添加模块搜索路径
在baz.py的最顶部(导入语句之前)插入以下代码,手动把project目录的绝对路径加入Python的模块搜索列表:
import sys import os # 向上回溯两级目录,拿到project文件夹的绝对路径并添加到搜索路径 sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
之后再执行你原来的命令,就能成功导入foo和bar模块。
方法3:使用相对导入
把baz.py里的导入语句改成相对导入格式:
from ..model import foo, bar
注意:这种方式必须配合方法1的-m参数运行脚本,直接执行baz.py文件会报错——相对导入仅在Python将脚本当作模块导入时生效,不能用于顶层执行的脚本文件。
内容的提问来源于stack exchange,提问作者Meth
相关产品推荐
相关产品推荐

