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

GeoNode Docker安装后执行manage.py报错:No module named 'geonode'

问题解决指南

1. ModuleNotFoundError: No module named 'geonode' 错误处理

你通过Docker部署的GeoNode,运行依赖的Python环境和代码都在容器内部,本地虚拟环境未与容器内依赖完全同步,导致执行collectstatic时找不到模块。正确操作应在容器内部执行相关命令:

  • 进入Django容器(替换为你的实际容器名称,通常为django4my_geonode):
    docker exec -it django4my_geonode bash
    
  • 激活容器内的虚拟环境:
    source /usr/src/my_geonode/venv/bin/activate
    
  • 切换到项目源码目录并执行静态文件收集:
    cd /usr/src/my_geonode/src
    python manage.py collectstatic --noinput
    

若坚持在本地执行,需确保本地虚拟环境安装GeoNode完整依赖:

  • 切换到~/my_geonode目录,执行:
    pip install -r requirements.txt
    pip install -e .
    
    注意:此方法需保证本地依赖版本与容器内完全一致,否则仍可能出问题,优先推荐容器内操作。

2. 首次docker compose up -d Django容器不健康问题

这是首次启动时Django服务未完全就绪,健康检查提前触发导致的误判。调整健康检查的启动等待时间即可解决:

  • 打开docker-compose.yml文件,找到django服务的healthcheck配置块,增加start_period的值(例如从30s改为60s):
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health/"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 60s
    
  • 保存后重新启动容器:
    docker compose down
    docker compose up -d
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 11:52:08