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

如何搭配Flask 3.0.0安装CKAN?兼容报错解决求助

问题根源

你遇到的_request_ctx_stack缺失和Flask循环导入错误,是因为Flask 3.0.0与CKAN 2.9/2.10版本不兼容。Flask 3.x移除了旧版上下文栈API,同时导入结构变更引发循环导入问题,而你的虚拟环境中自动安装了最新的Flask 3.0.0,导致兼容性冲突。

解决步骤

1. 降级Flask到兼容版本

CKAN 2.9和2.10均只支持Flask 2.x系列,执行以下命令降级:

# 激活CKAN虚拟环境
source /usr/lib/ckan/default/bin/activate

# 卸载不兼容的Flask和Werkzeug
pip uninstall -y Flask Werkzeug

# 安装兼容版本
pip install Flask==2.2.5 Werkzeug==2.2.3

2. 确保CKAN版本与文档匹配

你遵循的是CKAN 2.9的安装文档,但实际安装的是CKAN 2.10.1,版本不匹配可能导致依赖混乱:

  • 若要使用CKAN 2.9:切换到2.9稳定分支(如ckan-2.9.10),重新安装依赖:
    cd /usr/lib/ckan/default/src/ckan
    git checkout tags/ckan-2.9.10
    pip install -r requirements.txt
    
  • 若要使用CKAN 2.10:拉取最新的2.10稳定代码,官方已更新依赖限制避免Flask 3.x:
    cd /usr/lib/ckan/default/src/ckan
    git checkout ckan-2.10.x
    git pull
    pip install -r requirements.txt
    

3. 验证修复

重新启动CKAN服务,检查错误是否消失:

# 启动开发服务器
paster serve /etc/ckan/default/development.ini
预防措施

后续安装时,优先使用CKAN官方提供的requirements.txt,避免手动升级依赖到未兼容的大版本。CKAN官方会在稳定分支中及时更新依赖版本限制,避免此类兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 19:43:34