使用DuMate帮助创建 Python 3.9 环境并部署 Kotti CMS

Kotti CMS是一个很长时间没有更新的Python web框架,所以安装的时候还需要适配python3.9这样老的环境,且安装起来并不会很顺利,所以让DuMate帮助创建 Python 3.9 环境并部署 Kotti CMS。

kotti web cms 框架需要python3.9环境,请帮我创建一个python3.9的环境,并部署kotti

(以下为DuMate的输出)

我来帮你创建 Python 3.9 环境并部署 Kotti CMS。

思考执行,执行了1条命令,更新了任务清单

更新任务清单

json

复制代码
{
  "todos": [
    {
      "content": "检查系统 Python 环境",
      "priority": "high",
      "status": "in_progress"
    },
    {
      "content": "创建 Python 3.9 虚拟环境",
      "priority": "high",
      "status": "pending"
    },
    {
      "content": "安装 Kotti 及依赖",
      "priority": "high",
      "status": "pending"
    },
    {
      "content": "配置并启动 Kotti",
      "priority": "medium",
      "status": "pending"
    }
  ]
}

创建bash脚本

python --version && where python

系统当前安装的是 Python 3.12.9,但用户需要 Python 3.9。我需要检查是否有 Python 3.9 可用,或者需要安装它。让我检查一下是否有其他 Python 版本安装。

执行完成

当前系统是 Python 3.12.9,需要安装 Python 3.9。让我检查是否有其他 Python 版本:

思考执行,执行了1条命令

创建bash脚本

bash

复制代码
py -0p

系统已经安装了 Python 3.9!路径是 C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python39_64\pyth...

执行完成

系统已安装 Python 3.9!让我用它创建虚拟环境:

思考执行,执行了3条命令,更新了任务清单

更新任务清单

json

复制代码
{
  "todos": [
    {
      "content": "检查系统 Python 环境",
      "priority": "high",
      "status": "completed"
    },
    {
      "content": "创建 Python 3.9 虚拟环境",
      "priority": "high",
      "status": "in_progress"
    },
    {
      "content": "安装 Kotti 及依赖",
      "priority": "high",
      "status": "pending"
    },
    {
      "content": "配置并启动 Kotti",
      "priority": "medium",
      "status": "pending"
    }
  ]
}

创建bash脚本

bash

复制代码
py -3.9 -m venv kotti-env

虚拟环境创建成功。现在我需要激活它并安装 Kotti。

创建bash脚本

bash

复制代码
./kotti-env/Scripts/python.exe --version && ./kotti-env/Scripts/pip.exe install --upgrade pip wheel setuptools

权限问题,让我尝试使用 --user 参数或者直接安装 Kotti。

创建bash脚本

bash

复制代码
./kotti-env/Scripts/pip.exe install kotti

安装正在进行中,但超时了。让我检查安装是否已经完成。

执行完成

安装正在进行,让我检查状态并继续:

思考执行,执行了2条命令

创建bash脚本

bash

复制代码
./kotti-env/Scripts/pip.exe list | grep -i kotti

看起来安装还没有完成。让我继续安装。

创建bash脚本

bash

复制代码
./kotti-env/Scripts/pip.exe install kotti --no-cache-dir

Kotti 安装成功了!现在我需要创建一个 Kotti 项目并配置它。让我创建一个基本的 Kotti 项目配置。

执行完成

Kotti 安装成功!现在创建项目配置:

思考执行,创建了3个文件,执行了8条命令,更新了任务清单

更新任务清单

json

复制代码
{
  "todos": [
    {
      "content": "检查系统 Python 环境",
      "priority": "high",
      "status": "completed"
    },
    {
      "content": "创建 Python 3.9 虚拟环境",
      "priority": "high",
      "status": "completed"
    },
    {
      "content": "安装 Kotti 及依赖",
      "priority": "high",
      "status": "completed"
    },
    {
      "content": "创建 Kotti 项目配置",
      "priority": "high",
      "status": "in_progress"
    },
    {
      "content": "初始化数据库并启动 Kotti",
      "priority": "medium",
      "status": "pending"
    }
  ]
}

写入 development.ini

配置文件创建成功。现在我需要初始化数据库并启动 Kotti。Kotti 提供了一个初始化命令来创建数据库表和管理员用户。

写入 init.py

创建bash脚本

bash

复制代码
cd kotti-project && ../kotti-env/Scripts/kotti-populate.exe development.ini

kotti-populate 命令不存在。让我检查 kotti 提供的命令。

创建bash脚本

bash

复制代码
ls kotti-env/Scripts/ | grep -i kotti

没有 kotti-populate 命令。让我检查 Kotti 的初始化方式。可能需要使用 Python 脚本来初始化数据库。

创建bash脚本

bash

复制代码
./kotti-env/Scripts/pip.exe show kotti | grep -i location

让我检查 Kotti 的文档或源码来了解如何初始化数据库。Kotti 2.0 版本可能使用不同的初始化方式。让我创建一个初始化脚本。

写入 init_db.py

让我使用 Kotti 的标准方式来初始化。Kotti 使用 pyramid 的 pserve 命令来启动,首次运行时会自动初始化数据库。让我检查 Kotti 的配置方式。

创建bash脚本

bash

复制代码
./kotti-env/Scripts/pip.exe install pyramid_paster

让我尝试直接使用 pserve 命令启动 Kotti。

创建bash脚本

bash

复制代码
cd kotti-project && ../kotti-env/Scripts/pserve.exe development.ini 2>&1

缺少 pkg_resources 模块,这是 setuptools 的一部分。让我安装它。

创建bash脚本

bash

复制代码
./kotti-env/Scripts/pip.exe install setuptools

setuptools 已经安装了,但是 pkg_resources 模块不可用。这可能是因为新版本的 setuptools 不再默认包含 pkg_resources。让我尝试安装一个旧版...

创建bash脚本

bash

复制代码
./kotti-env/Scripts/pip.exe install "setuptools<70"

现在 setuptools 69.5.1 安装好了,让我再次尝试启动 Kotti。

创建bash脚本

bash

复制代码
cd kotti-project && ../kotti-env/Scripts/pserve.exe development.ini 2>&1

Kotti 2.0.9 与 SQLAlchemy 2.0 不兼容。SQLAlchemy 2.0 移除了 baked 扩展。我需要降级 SQLAlchemy 到 1.4 版本。

执行完成

SQLAlchemy 版本不兼容,需要降级:

思考执行,执行了2条命令

创建bash脚本

bash

复制代码
./kotti-env/Scripts/pip.exe install "sqlalchemy>=1.4,<2.0"

SQLAlchemy 1.4.54 安装成功。现在让我再次尝试启动 Kotti。

创建bash脚本

bash

复制代码
cd kotti-project && ../kotti-env/Scripts/pserve.exe development.ini 2>&1

Kotti 已经成功启动了!服务器正在运行在 http://0.0.0.0:6543。数据库已自动初始化,并创建了默认的管理员账户。让我更新任务状态并告知用户。

执行完成

Kotti 已成功启动!

思考执行,更新了任务清单

更新任务清单

json

复制代码
{
  "todos": [
    {
      "content": "检查系统 Python 环境",
      "priority": "high",
      "status": "completed"
    },
    {
      "content": "创建 Python 3.9 虚拟环境",
      "priority": "high",
      "status": "completed"
    },
    {
      "content": "安装 Kotti 及依赖",
      "priority": "high",
      "status": "completed"
    },
    {
      "content": "创建 Kotti 项目配置",
      "priority": "high",
      "status": "completed"
    },
    {
      "content": "初始化数据库并启动 Kotti",
      "priority": "medium",
      "status": "completed"
    }
  ]
}

Kotti 已经成功部署并运行。让我给用户一个完整的总结。

执行完成

Kotti CMS 部署完成

部署摘要

项目 详情
Python 环境 Python 3.9.13 (kotti-env/)
Kotti 版本 2.0.9
数据库 SQLite (kotti-project/kotti.db)
服务地址 http://localhost:6543

登录信息

字段
用户名 admin
密码 qwerty

项目结构

复制代码
kotti-project/
├── development.ini    # 配置文件
├── kotti.db          # SQLite 数据库
└── __init__.py

启动命令

复制代码
cd kotti-project
../kotti-env/Scripts/pserve.exe development.ini

使用说明

  1. 访问 http://localhost:6543 查看 Kotti 首页
  2. 点击右上角 "Log in" 登录
  3. 使用 admin / qwerty 登录后台管理
  4. 登录后可以创建页面、管理内容、配置站点

配置文件位置

  • 配置文件:kotti-project/development.ini
  • 可修改站点标题、数据库连接、邮件设置等

总结

还是挺方便的。一开始感觉方便、快捷、可靠。

后来发现它部署的时候,并没有用kotti源代码部署(缺少模版和静态文件),导致Kotti网页出现问题....所以说它干的这个活并不细致...还有可以升级的空间。

部署图:

官方图:

相关推荐
英俊潇洒美少年2 小时前
Vue Hook 与 React Hook 全面解析:区别、用法、实战及避坑指南
前端·vue.js·react.js
weixin_704266052 小时前
项目总结一
java·前端·spring boot·后端·spring
Mintopia2 小时前
接口设计为什么越改越乱:新手最容易踩的三个坑
前端
code小生2 小时前
微软 Microsoft Edge 浏览器插件开发者注册指南
前端·microsoft·edge·edge浏览器·浏览器插件开发者
Mintopia2 小时前
日志不是越多越好:一套能落地的日志设计方法
前端
yivifu2 小时前
一种更精细的HTML表格斑马色设置方法
前端·html
ldybk2 小时前
教学vue
前端·javascript·vue.js
英俊潇洒美少年2 小时前
Vue3 实现 AI 流式打字机(SSE+时间切片模拟 React 并发)工程化完整版
前端·人工智能·react.js
开开心心就好2 小时前
操作简单的ISO文件编辑转换工具
java·前端·科技·edge·pdf·安全威胁分析·ddos