VSCode下Python模块导入遇ModuleNotFoundError问题求助
解决Python模块导入ModuleNotFoundError问题
针对你开发零食店管理应用时遇到的模块导入报错,给出以下几个实用解决办法:
检查包标识文件
确保source_code、controllers、views这三个文件夹下都存在空的__init__.py文件。Python需要这个文件来识别文件夹为可导入的包,没有的话直接创建一个空文件即可。使用相对导入
由于login_screen.py位于source_code/views/,而authenticate.py在source_code/controllers/,属于同一父目录下的子包,可改用相对导入语法:from ..controllers import authenticate as auth注意:如果直接将
login_screen.py作为主脚本运行,相对导入可能失效,建议用下面的模块方式运行。从项目根目录以模块方式运行
不要在views文件夹下直接运行脚本,回到snack_app目录(即source_code的父目录),用以下命令运行:python -m source_code.views.login_screen这种方式会自动把项目根目录加入Python的模块搜索路径,避免路径识别问题。
手动设置PYTHONPATH
激活venv环境后,在终端执行以下命令,将项目根目录添加到Python的模块搜索路径中:export PYTHONPATH="/Users/mac/Dev/Learn_python/btl/snack_app:$PYTHONPATH"设置完成后再运行你的脚本,Python就能正确找到
source_code模块了。
内容的提问来源于stack exchange,提问作者Bình Mai Thanh
相关产品推荐
相关产品推荐

