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

使用Gunicorn部署Django网站时出现ImportError: No module named polls问题

解决Gunicorn启动Django时出现ImportError: No module named polls的问题

看起来你遇到的是Gunicorn与Django项目路径不匹配的典型问题——runserver能正常运行,是因为Django的manage.py会自动把项目根目录加入Python的模块搜索路径,但Gunicorn默认不会做这件事,所以才找不到polls模块。下面是一步步的解决办法:

1. 先切换到项目根目录再执行Gunicorn命令

你的manage.py在/home/ragequittech/目录下,这才是项目的根目录。先切换到该目录,再启动Gunicorn:

cd /home/ragequittech/
gunicorn --bind 0.0.0.0:8030 wsgi:application

(注意你之前的命令里多写了一个ragequittech路径,这会让Gunicorn跑到子目录里找模块,自然找不到polls)

2. 确认激活了项目对应的虚拟环境

如果你的Django项目是用虚拟环境搭建的,一定要先激活虚拟环境再启动Gunicorn,否则Gunicorn会用系统默认的Python环境,可能根本没安装你的项目依赖:

# 假设你的虚拟环境在/home/ragequittech/venv/目录下
source /home/ragequittech/venv/bin/activate
# 激活后再运行Gunicorn命令
gunicorn --bind 0.0.0.0:8030 wsgi:application

3. 手动把项目路径加入Python搜索路径

如果上面两步都没用,可以通过设置环境变量强制让Python找到你的项目:

PYTHONPATH=/home/ragequittech gunicorn --bind 0.0.0.0:8030 wsgi:application

或者直接修改项目根目录下的wsgi.py文件,在开头添加路径配置:

import sys
# 把项目根目录加入Python的模块搜索路径
sys.path.append('/home/ragequittech')

# 保留原来的WSGI代码
import os
from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ragequittech.settings')
application = get_wsgi_application()

4. 最后确认INSTALLED_APPS配置

虽然runserver能正常运行说明这个大概率没问题,但还是检查下settings.py里的INSTALLED_APPS是否正确包含了'polls',确保没有拼写错误:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'polls',  # 确认这一行存在且拼写正确
]

按照上面的步骤操作,应该就能解决Gunicorn找不到polls模块的问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:54:14