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

使用Gunicorn启动Django项目报错:No module named 'myproject'

解决Gunicorn启动Django项目时的ModuleNotFoundError问题

问题核心

你的gunicorn_config.py中pythonpath配置错误,指向了虚拟环境的Python库路径,而非Django项目的根目录,导致Gunicorn无法找到myproject模块。同时执行命令的目录也影响了Python路径的识别。

解决方案

1. 修正gunicorn_config.py的Python路径配置

将pythonpath改为包含项目根目录(即存放manage.py的外层myproject目录)的路径。示例:

# gunicorn_config.py
# 替换为你的项目根目录实际路径,比如/home/mywsl/myproject
pythonpath = '/home/mywsl/myproject'
bind = "0.0.0.0:8000"
workers = 4
timeout = 60

如果需要保留虚拟环境的路径,可以用列表形式添加多个路径:

pythonpath = ['/home/mywsl/myproject', '/home/mywsl/.virtualenvs/venvname/lib/python3.10']

2. 使用正确的命令执行方式

推荐在项目根目录(包含manage.py的目录)执行启动命令,这样路径识别更清晰:

gunicorn -c myproject/gunicorn_config.py myproject.wsgi:application

如果坚持在内层myproject目录执行,确保配置文件的pythonpath已包含项目根目录,执行命令:

gunicorn -c gunicorn_config.py myproject.wsgi:application

原因解释

  • python manage.py runserver能正常运行,是因为manage.py会自动将项目根目录添加到Python的搜索路径中,让Django能识别到自身的项目模块。
  • 你之前的pythonpath只配置了虚拟环境的库路径,缺少项目根目录,导致Gunicorn启动时无法找到myproject包。
  • 在内层myproject目录执行命令时,当前目录是包内部,Python默认不会向上搜索父目录的模块,必须通过pythonpath显式添加根目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 00:12:36