一、问题:
在尝试通过命令行直接运行主脚本时,由于模块路径问题导致模块导入失败。
错误日志:
[21:16:19] [~/develop/workspace/pycharm/my-app] ❱❱❱ python src/main.py
Traceback (most recent call last):File "src/main.py", line 34, in <module>main()File "src/main.py", line 21, in mainfrom src.database.sqliteDBManager import sqlite_service_manager
ModuleNotFoundError: No module named 'src'
程序抛出 ModuleNotFoundError
,无法识别 src
为有效模块。
二、解决办法
1.在主脚本,如main.py中加入
project_root = os.path.dirname(os.path.abspath(__file__))
sys.path.append(os.path.dirname(project_root))
可以动态地添加项目的根目录到 sys.path
2.使用python -m src.main执行脚本
可正常执行
[21:20:35] [~/develop/workspace/pycharm/my-app] ❱❱❱ python -m src.main
与SQLite数据库的连接已建立.
表 'file_checks' 已经存在.
-------
SQLite数据库连接已关闭.
这个方法确保了当前工作目录被加入到 Python 的模块搜索路径中,解决了模块导入的问题。