当前位置: 首页 > news >正文

Claude Code学习笔记(四)-助你快速搭建首个Python项目

一、环境准备

详细安装教程见文章《Claude Code学习笔记 (一)-手教你安装,从零配置到解决连接问题》

二、基础配置实战

  1. 创建第一个项目

# 创建项目目录
mkdir my-first-claude-project
cd my-first-claude-project# 初始化Git仓库(可选但推荐)
git init# 启动Claude Code会话
claude

  1. 项目初始化配置

在Claude Code会话中执行:

(1)初始化项目记忆文件

/init

按照之前的文章使用KiMi的API可能会出现如下问题

这里遇到的还是 API 请求频率超限错误(429),原因是你的组织账户每分钟的请求次数(RPM)达到了上限(3 次 / 分钟),导致代码库分析任务被限制。 解决方法:

  • 等待后重试:按照提示等待 1 秒后,重新触发代码库分析任务,短时间内不要连续操作。

  • 控制操作频率:后续执行其他任务时,确保每分钟内的请求不超过 3 次,每次操作间隔至少 20 秒以上,避免再次触发限制。

  • 长期方案:如果频繁遇到此问题,可联系平台支持团队,申请提高组织的请求频率上限。

建议使用DeepSeek的API不会出现上述的结果

工具(标注为/init)正在尝试分析代码库,目的是创建CLAUDE.md文件(用于指导代码相关工作)。但通过一系列操作发现:

  • 搜索通配符文件(如""、".")、读取关键文件(README.md、package.json)均失败,提示 “Error reading file”;

  • 执行终端命令(ls -la、find . -type f ...)查看目录内容,结果显示 “无内容(No content)”;

  • 检查 Git 仓库状态(git status --porcelain、git ls-files),确认这是一个完全空的 Git 仓库(没有任何文件被 Git 跟踪)。

1. CLAUDE.md文件内容(预览)

文件用于为「Claude Code(claude.ai/code)」处理本仓库代码时提供指导,结构与核心信息如下:

  • 仓库状态(Repository Status): 明确这是一个新的、空的 Git 仓库,尚未跟踪任何文件,也没有可分析的代码库结构,处于 “项目初始化准备阶段”。

  • 入门指南(Getting Started): 列出开始开发的核心步骤: 1.初始化项目:选择技术栈、搭建基础项目结构; 2. 建立开发工作流:配置构建工具、测试框架、开发依赖;3.配置 Git:添加.gitignore文件、制定提交规范。

  • 常见开发任务(Common Development Tasks): 项目初始化后,典型任务包括:设置包管理工具(如npm、pip等);配置构建工具与脚本;建立测试框架; 编写项目文档;搭建 CI/CD 工作流。

  • 注意事项(Notes): 当项目结构和技术栈确定后,需要更新此文件,以提供针对代码库架构和开发工作流的 “具体指导”。

2. 交互选项(文件创建确认)

底部提示 “是否要创建CLAUDE.md?”,并给出 3 个选择:

  • Yes:直接创建该文件;

  • Yes, allow all edits during this session (shift+tab):创建文件,并允许本次会话中所有编辑操作;

  • No, and tell Claude what to do differently (esc):不创建,并告知 Claude 需要如何调整行为。

整体来看,这是 AI 工具在 “空仓库” 场景下,自动生成开发指导文档并提供交互确认的过程,帮助开发者快速启动项目初始化。

选择Yes之后自动创建文件夹

  • 执行 Write(CLAUDE.md) 操作后,终端提示 “向 CLAUDE.md 写入了内容”,并展示文件的初始结构: 文件用途:为 Claude Code(claude.ai/code)处理本仓库代码提供指导;仓库状态:新的空仓库,已准备好初始化,无 Git 跟踪文件、也无现有代码结构可分析;入门指南(Getting Started):包含项目启动相关的基础指引。

  • 工具总结:已为这个空仓库创建 CLAUDE.md,提供了 “开发入门” 的基础指导。文件核心内容包括: 仓库状态(空仓库、可初始化); 项目设置的入门指导; 项目建立后常见的开发任务; 提示:当技术栈和项目结构确定后,需更新此文件。

  • 最后提供可选反馈:“本次会话中 Claude 表现如何?”,给出 4 个选项: 1: Bad(差)、2: Fine(一般)、3: Good(好)、0: Dismiss(忽略反馈)。

最后生成的markdown文件如下:

(2)查看当前状态

/status

标签栏:Settings 下有 Status(状态)、Config、Usage(使用情况),可按 Tab 切换。

Status 标签页

  • 工具版本(Version):2.0.14

  • 会话标识(Session ID):f242e738-34db-4581-afdf-948a37bb41a(用于唯一标记当前会话)。

  • 当前工作目录(cwd):C:\Users\king\my-first-claude-project(工具当前操作的项目目录)。

  • API 配置:认证令牌(Auth token):none(未使用显式认证令牌)。

  • API 密钥来源:ANTHROPIC_API_KEY(从环境变量获取)。

  • Anthropic 基础 URL:https://api.moonshot.cn/anthropic(说明使用了 moonshot( moonshot ) 提供的 Anthropic 兼容 API 服务)。

  • 模型(Model):默认使用 claude-sonnet-4-5-20250929。

  • 配置来源(Setting sources):用户设置、共享项目设置、本地配置、命令行参数、企业管理策略等(说明配置是多来源合并的结果)。

  • 退出提示:按 Esc 可退出该状态界面。

Config 标签页

  • 配置项:包含 Auto-compact(自动压缩)、Show tips(显示提示)、Theme(主题,当前为 Dark mode)、Model(模型)、Use custom API key(是否使用自定义 API 密钥,此处已启用并显示密钥)等,可按 Enter/Space 修改选项,Esc 退出配置。

Usage 标签页

  • 功能限制提示:界面显示 /usage is only available for subscription plans.,说明 “使用情况(Usage)” 功能仅对订阅版计划开放,当前账户因非订阅状态无法使用该功能。

(3)添加项目描述到记忆文件

我正在启动一个用于任务管理应用的全新Python网络项目。 请协助我建立项目结构和进行初始配置。

I'm starting a new Python web project for a task management application. 
Please help me set up the project structure and initial configuration.

  • 待创建的核心文件: 工具计划生成一系列项目初始化关键文件,包括: README.md(项目说明文档); requirements.txt(Python 依赖清单); .env.example(环境变量示例文件); .gitignore(Git 版本控制的 “忽略规则” 文件)。

  • README.md内容预览(核心文档): 下方 “Create file” 区域展示了README.md的预生成内容,核心信息包括: 项目定位:Task Management Application—— 一个用于管理任务和项目的 Python Web 应用。 核心功能:任务创建 / 编辑 / 删除、项目组织、用户认证、任务状态跟踪、截止日期管理等。 技术栈: 后端:Flask(Python 框架); 前端:HTML/CSS/JavaScript; 数据库:开发环境用 SQLite,生产环境用 PostgreSQL; 认证:Flask-Login; 表单:Flask-WTF。 开发流程:从 “克隆仓库” 到 “运行应用” 的步骤(如设置虚拟环境、安装依赖、配置环境变量等)。 项目结构:预览了taskmanager/目录下的模块划分(如app/(含__init__.py、models.py等)、tests/、migrations/、config.py等文件 / 目录结构)。

  • 交互确认:是否创建README.md: 底部提供三个选项,等待用户决策:

  1. Yes:直接创建该文件;

  2. Yes, allow all edits during this session (shift+tab):创建文件,并允许本次会话中所有编辑操作;

  3. No, and tell Claude what to do differently (esc):不创建,并告知工具需要如何调整行为。

  • 选择1. Yes

  • 选择yes创建requirements.txt 的 Python 项目管理依赖包版本的标准文件

  • 此处的 .env.example 作为示例模板方便开发者创建实际 .env 文件以避免敏感信息暴露在版本控制中;文件内预设了 Flask 项目的关键环境配置,包括指定 Flask 应用入口文件、设置开发环境、用于会话加密的密钥(需开发者替换为实际密钥),以及开发环境使用 SQLite 数据库、生产环境(可选且被注释)使用 PostgreSQL 数据库的连接配置等内容;同时工具提供了 “直接创建该文件”“创建文件并允许本次会话所有后续编辑操作”“不创建并告知工具调整逻辑” 这三个选项供用户决定如何处理文件创建,而对于 Flask 这类 Web 框架,环境变量是隔离不同环境配置、保护敏感信息的最佳实践,

  • .gitignore 是 Git 版本控制中用于指定 “不纳入版本跟踪的文件 / 目录” 的配置文件。图中预览的 .gitignore 内容按类别划分,忽略了多类与项目核心代码无关的文件: Python 相关:忽略 pycache/(编译缓存)、.pyc/.pyo(字节码文件),以及 build/(构建目录)、dist/(分发目录)、.egg-info/(包信息目录)等,避免临时编译产物、依赖包元数据进入 Git; 虚拟环境:忽略 venv/、env/ 等虚拟环境目录(这类本地环境无需共享); 环境变量与敏感配置:忽略 .env、.env.local 等存储密钥、数据库连接的文件,防止敏感信息泄漏; 数据库文件:忽略 .db、.sqlite3 等数据库文件(运行时生成,无需版本控制); IDE 与系统文件:忽略 .vscode/、.idea/(IDE 配置目录),以及 macOS 的 .DS_Store、Windows 的 Thumbs.db(系统生成的无关文件); 日志与测试产物:忽略 .log(日志文件)、.pytest_cache/(测试缓存)、htmlcov/(测试覆盖率报告目录)等临时产物。 底部交互选项询问 “是否创建 .gitignore?”,提供 Yes(直接创建)、Yes, allow all edits during this session(创建并允许本次会话所有编辑)、No, and tell Claude what to do differently(不创建并告知工具调整)三个选择,方便开发者控制文件生成行为。

默认创建所有的文件即可

当不小心暂停时,回复继续对话类似的话语即可

项目创建完成

三、项目测试

  1. 项目创建成功提示 开头以 Perfect! 明确告知:已成功搭建一个完整的 Python Flask 任务管理应用,并将展示创建的内容。

  2. 生成的项目结构(Project Structure Created) 工具详细列出了创建的各类文件 / 目录及其作用,覆盖 “核心应用、模板、配置、测试开发” 等维度: 核心应用文件:包含 app/init.py(Flask 应用工厂,集成 SQLAlchemy、用户认证等扩展)、models.py(数据库模型,定义 User/Task/Project 及关联关系)、routes.py(基于蓝图的路由,处理认证和任务管理)、forms.py(WTForms 表单,支持登录 / 注册 / 任务 / 项目操作)等。 模板文件:如 base.html(Bootstrap 5 主布局 + 导航)、dashboard.html(用户仪表盘)、tasks.html/task_form.html(任务管理界面)、projects.html/project_form.html(项目管理界面)等。 配置与启动文件:config.py(环境化配置管理)、run.py(应用入口)、setup.py(数据库初始化脚本)、requirements.txt(Python 依赖清单)、.env.example(环境变量模板)、.gitignore(Git 忽略规则)等。 测试与开发相关:tests/test_basic.py(Pytest 基础测试套件)、static/css/style.css(自定义 CSS 样式)、CLAUDE.md(项目详细文档)。

  3. 实现的关键功能(Key Features Implemented) 列举了应用内置的核心能力: 用户认证:支持注册、登录、登出(含密码哈希加密); 任务管理:可创建带 “标题、描述、状态、优先级、截止日期” 的任务; 项目组织:支持将任务分组到项目中; 响应式 UI:基于 Bootstrap 5 + 自定义样式,适配不同设备; 数据库:SQLAlchemy 模型配合 Flask-Migrate,支持数据库结构变更; 测试框架:Pytest 环境 + 测试夹具(fixtures),便于自动化测试。

  4. 下一步操作(Next Steps) 指导用户如何启动应用,步骤清晰:

  • 设置虚拟环境:创建并激活虚拟环境(区分 Linux/mac/Windows 系统),安装依赖 pip install -r requirements.txt;

  • 配置环境变量:复制 .env.example 为 .env,并编辑 .env 添加SECRET_KEY(用于应用加密);

  • 初始化数据库:执行 python setup.py、flask db init(初始化迁移环境)、flask db migrate -m "Initial migration"(生成迁移脚本)、flask db upgrade(应用迁移,创建数据库表);

  • 运行应用:执行 flask run,应用会在 http://localhost:5000 启动,此时已有完整的 “用户注册 + 任务管理” 系统可供使用。

  1. 交互反馈(可选) 底部提供反馈选项:How is Claude doing this session?,可选择 Bad/Fine/Good/Dismiss 评价本次交互,还附带快捷键提示(? for shortcuts)。

输入命令,输入下一步操作继续进行,Claude Code即开始操作

http://www.dtcms.com/a/473777.html

相关文章:

  • 济南 制作网站 公司哪家好文登seo排名
  • Chrome 插件开发入门
  • 天津专业网站制作wordpress 多域名登陆
  • Docker简介及部署
  • 字符数组和字符串
  • 【TIDE DIARY 3】dify: chatflow; docker: exec
  • Docker Compose学习
  • 从iBizPMS到iBizPLM:一场研发管理平台的四年级架构革命
  • KingbaseES SQL Server模式扩展属性管理:三大存储过程实战指南
  • 5118网站怎么做的登录贵州省住房和城乡建设厅网站
  • 开源 C++ QT QML 开发(十六)进程--共享内存
  • 密码学系列 - 零知识证明(ZKP) - MSM运算
  • 厦门网站制作推广友链是什么
  • 大的网站建设公司好赣州章贡区最新招聘信息
  • 总结Vue.js等成功项目的生态建设经验
  • 西安北郊网站开发wordpress上传附件
  • mysql读写分离中间件——Atlas详解
  • jndi使用druid,在tomcat中配置druid监控
  • tomcat 默认编码的设置
  • 【mybatisPlus详解】
  • 回归与分类算法全解析:从理论到实践
  • 什么是 Qt 的元对象系统?
  • 【LeetCode】68. 文本左右对齐
  • 第十九周周报
  • Springboot 常见面试题汇总
  • 驻马店市做网站百度收录软件
  • 在实际项目中,Java 应用的性能瓶颈通常出现在哪些方面,又该如何有效地进行优化?
  • 08_Freqtrade配置与开发环境
  • C++实例
  • 复习总结最终版:Linux驱动