You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python目录结构问题:导入模块提示“No module named”错误

解决Python模块导入错误:No module named database

问题原因

直接运行sales/shop.py时,Python会将sales目录视为当前工作目录,而database目录位于项目根目录,不在Python默认的模块搜索路径中,因此无法找到该模块。

解决方法

方法1:临时添加项目根目录到Python路径

在shop.py开头添加以下代码,手动把项目根目录加入Python的搜索路径:

import sys
import os

# 获取项目根目录(当前文件所在目录的父目录)
root_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(root_dir)

# 现在可以正常导入
import database.database as database
myResult = database.insertArticle()

方法2:使用相对导入(需以包方式运行)

如果将整个项目作为Python包使用,可在shop.py中用相对导入:

from ..database.database import insertArticle
myResult = insertArticle()

注意:这种方式不能直接运行shop.py,需要从项目根目录执行命令:

python -m sales.shop

方法3:设置PYTHONPATH环境变量

将项目根目录添加到系统环境变量PYTHONPATH中,让Python全局识别该目录下的模块:

  • Windows命令行:
set PYTHONPATH=你的项目根目录完整路径
  • Linux/macOS终端:
export PYTHONPATH=/你的项目根目录完整路径

设置完成后,直接运行shop.py即可正常导入。

推荐方案

优先通过项目根目录下的main.py运行代码,此时main.py所在的根目录默认在Python搜索路径中,shop.py里的原导入语句可以直接正常工作。

内容的提问来源于stack exchange,提问作者hacking_mike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 03:51:34