Django项目views.py中导入seleniumtrack模块失败求助
解决ModuleNotFoundError: No module named 'seleniumtrack'问题
问题原因
你的seleniumtrack.py位于python/根目录,而views.py在tracklist/downloader/子目录下,Python默认的模块搜索路径不包含上层的python/目录,因此无法找到该模块。
解决方案
方案1:临时添加模块路径(快速调试用)
在views.py的最开头添加以下代码,手动将python/目录加入Python的搜索路径:
import sys import os # 逐级向上获取python/目录的绝对路径 root_dir = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) sys.path.append(root_dir) # 之后再导入模块 import seleniumtrack
方案2:调整Django项目的搜索路径(规范做法)
- 在
python/目录下创建一个空的__init__.py文件,将该目录标记为Python可识别的包。 - 修改
tracklist/manage.py的开头,添加路径配置:
import sys import os # 将python/目录加入搜索路径 sys.path.append(os.path.dirname(os.path.abspath(__file__))) # 原有的manage.py代码 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'tracklist.settings') ...
修改后,通过manage.py启动Django项目时,seleniumtrack模块就能被正常识别,views.py里的import seleniumtrack无需额外修改。
方案3:移动模块到app目录(适合单项目专用模块)
如果seleniumtrack.py仅服务于当前Django项目,可以直接将它复制到tracklist/downloader/目录下,这样views.py里的import seleniumtrack就能直接生效。
注意事项
- 确保始终通过
python manage.py runserver启动Django项目,不要直接运行views.py,否则模块路径上下文会不一致。
内容的提问来源于stack exchange,提问作者Just Verhagen
相关产品推荐
相关产品推荐

