asyncio.run()专为顶层脚本设计,新建并管理完整事件循环,不可在已有循环中调用;asyncio.create_task()则将协程包装为task提交至当前循环并发执行,适用于已运行环境中的任务调度。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想在调试一个Python脚本时,直接查清asyncio.run()和asyncio.create_task()的调度差异,而不是切出终端、打开浏览器、翻三页文档再回来——Gemini CLI能让你在当前目录下用一条命令完成查询,答案带着上下文精准返回。
安装并配置API密钥
先确认你已注册Google Cloud账号,并在AI Studio页面生成Gemini API密钥。密钥格式为 g-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,复制后不要泄露或提交到代码仓库。
执行 export GEMINI_API_KEY="g-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",将密钥写入当前Shell会话环境变量。这一步必须完成,否则后续所有命令都会报错 Unauthorized: Invalid credentials。
为永久生效,把这行追加到你的 ~/.bashrc 或 ~/.zshrc 末尾,然后运行 source ~/.zshrc(根据你实际使用的Shell选择)。
基础查询:一句话问出精准答案
直接输入 gemini "Python中asyncio.run()和create_task()的核心区别是什么?",回车后等待3~5秒,答案即刻打印在终端。
使用固定的 Next.js/Tailwind/Prisma 技术栈构建并记录独立 SaaS 项目,仅将 FastAPI 用于 Python 工作负载,并遵循严格的架构规范。
注意:首次运行时若提示未找到命令,说明尚未安装CLI。请用 curl -fsSL https://raw.githubusercontent.com/google-gemini/gemini-cli/main/install.sh | bash 安装,该脚本会自动下载二进制并放入 $HOME/bin,同时建议你把该路径加入 $PATH。
这个操作不依赖任何文件,适合快速验证概念、查语法、问错误含义。但别指望它能解释你本地未提供的代码逻辑——它此时只调用模型的基础知识库。
带上下文的深度查询
当你需要AI理解你正在处理的具体内容时,必须显式传入文件或命令输出。
方法一:引用当前目录下的源码文件gemini "这段代码为什么在高并发下会阻塞?"@ main.py
AI会读取 main.py 全文,结合其内容分析阻塞点。如果文件过大(超过1MB),CLI会自动截断并提示,此时应先用 head -n 200 main.py 提取关键段再传入。
方法二:注入实时命令结果gemini "解释下面的git status输出,并推荐下一步操作"@ "$(git status --porcelain)"
注意双引号包裹和 $() 执行符——漏掉任一符号,AI收到的就是字面字符串 $(git status...),而非真实状态。
方法三:多文件联合分析gemini "对比Dockerfile和docker-compose.yml,指出镜像构建与服务启动之间的配置冲突"@ Dockerfile @ docker-compose.yml
【@符号必须紧贴文件路径,中间不能有空格】,否则CLI无法识别为文件参数,会当作普通文本提问。
构建可复用的资料查询工作流
第一步:创建快捷别名
在 ~/.zshrc 中添加 alias g='gemini --model gemini-3-pro --max-tokens 2048',保存后运行 source ~/.zshrc。
第二步:封装高频场景为函数
在同个配置文件中追加:pydoc() { gemini "用中文解释Python标准库$1模块的功能、核心类和典型用法,附一个最小可运行示例" ; }
之后只需输入 pydoc requests,就能获得结构化文档。
第三步:绑定错误日志自动分析
执行 gemini "分析此错误堆栈,定位根本原因并给出修复命令"@ "$(tail -n 100 error.log)",适用于CI失败后快速诊断。
第四步:设置默认系统提示词
新建 ~/.gemini-prompt 文件,写入:You are a senior Python and Linux systems engineer. Respond in Chinese, use concise technical terms, and always include a working command or code snippet.
再在别名中加入 --system-prompt-file ~/.gemini-prompt,从此所有提问都自带角色设定。
第五步:管道直连,免去中间文件ps aux | grep nginx | gemini "从上面进程列表中提取worker进程PID,并生成kill -USR2命令"
这步要求gemini-cli版本 ≥ v0.8.3,旧版本不支持stdin管道输入。










