PyCharm中Python配置运行Django测试遇ModuleNotFoundError问题排查
问题根本原因及解决办法
根本原因
工作目录不匹配:PyCharm的「Python配置」默认工作目录可能未指向项目根目录(即包含
manage.py的最外层sb_website文件夹)。Python解析模块依赖时会从当前工作目录开始查找,工作目录错误会导致无法识别sb_website.article这类子模块。而「Django Test配置」会自动将工作目录设置为项目根,确保模块路径可被正确解析。Django初始化流程差异:「Django Test配置」会自动完成Django的初始化步骤,包括将项目根目录加入Python的
sys.path,以及正确加载配置文件。而普通「Python配置」仅直接运行manage.py,即使通过参数指定了--settings,若工作目录不对,依然会导致模块导入失败。
解决办法
修正工作目录:打开PyCharm的Python配置界面,将「工作目录」设置为包含
manage.py的最外层sb_website文件夹路径。添加Python路径参数:在运行参数中额外添加
--pythonpath=你的项目根目录路径(比如--pythonpath=..\sb_website,根据实际路径调整),强制Python将项目根加入模块查找路径。通过环境变量指定配置:在Python配置的「环境变量」中添加
DJANGO_SETTINGS_MODULE=sb_website.dev_settings,替代命令行参数传递配置,同时确保工作目录正确。
内容的提问来源于stack exchange,提问作者NicoS
相关产品推荐
相关产品推荐

