想尝试最新的 AI Agent 助手 OpenManus?本教程带你一步步完成本地部署,包括 Python 多版本管理的全套解决方案。
引言
最近接触到了由 FoundationAgents 开发的智能 Agent 工具——OpenManus。OpenManus 要求 Python 3.12 版本,而我的系统还是原来的 3.10。既要保留原有的开发环境,又要满足新项目的需求,这就需要用到 Python 多版本管理工具:pyenv。
下面是我从零开始的完整部署过程,希望能帮助到有类似需求的朋友!😊
一、为什么用 PyEnv?
面对多个项目对 Python 版本的不同要求,最优雅的解决方案不是卸载旧版本安装新版本(这样容易破坏现有环境),而是使用 PyEnv 这样的版本管理工具。它的优势在于:
- ✅ 所有 Python 版本隔离存储,互不干扰
- ✅ 可以随时切换全局、局部或临时的 Python 版本
- ✅ 安全稳定,安装卸载都不影响系统其他程序
- ✅ 类似 Node.js 的 NVM,用过就离不开系列
二、完整环境搭建步骤
📦 第一步:安装编译依赖
在安装新版本 Python 之前,系统需要准备好必要的编译工具。Ubuntu/Debian 系统执行:
sudo apt update
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev \
liblzma-dev python-openssl git
⚙️ 第二步:安装 pyenv
使用官方提供的安装脚本,一行搞定:
curl https://pyenv.run | bash
🔧 第三步:配置环境变量
安装后需要配置 Shell 配置文件,让系统识别 pyenv 命令:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
验证安装成功:
pyenv --version # 如果输出版本号,说明成功啦!
🐍 第四步:安装 Python 3.12
查看可用版本列表:
pyenv install --list | grep 3.12
安装最新版本(这里以 3.12.6 为例):
pyenv install 3.12.6
这个过程可能需要几分钟时间,耐心等待即可 ☕
🔄 第五步:灵活切换版本
安装好后,有三种切换方式供你选择:
1️⃣ 全局切换
pyenv global 3.12.6
# 之后所有终端都默认使用 3.12.6
python --version # 应该显示 Python 3.12.6
2️⃣ 局部切换(推荐)⭐
cd /path/to/your/project
pyenv local 3.12.6
# 只有在这个目录下才使用 3.12.6
# 其他目录保持之前的版本设置
这个方式特别适合在不同项目间无缝切换!
3️⃣ 临时切换
pyenv shell 3.12.6
# 仅在当前终端窗口生效,关窗口后失效
⏪ 进阶:如何切回系统版本?
想恢复系统原生 Python?只需:
pyenv global system
# 或者切换到其他已安装的版本
# pyenv global 3.10.0
PyEnv 把所有版本统一安装在 ~/.pyenv/versions 目录下,这种非常规整的目录结构让管理和维护变得超级轻松。
三、OpenManus 部署实战
环境准备好后,接下来就是部署 OpenManus 本身了!
📋 安装依赖
进入项目目录后,先局部设置 Python 版本:
pyenv local 3.12.6
uv venv --python 3.12.6
source .venv/bin/activate
uv pip install -r requirements.txt
⚙️ 配置 API
OpenManus 需要配置 LLM API 才能使用。复制配置模板:
cp config/config.example.toml config/config.toml
编辑 config.toml 文件,修改以下关键内容:
# 全局 LLM 配置
[llm]
model = "gpt-4o"
base_url = "https://api.openai.com/v1"
api_key = "sk-你的OpenAI密钥"
max_tokens = 8192
temperature = 0.7
# 可选:视觉能力的 LLM 配置
[llm.vision]
model = "gpt-4o"
base_url = "https://api.openai.com/v1"
api_key = "sk-你的OpenAI密钥"
🚀 启动运行
重要提示:由于公司内网存在网络代理,需要在 main.py 中去掉代理配置:
if __name__ == "__main__":
os.environ["http_proxy"] = ""
os.environ["https_proxy"] = ""
os.environ["HTTP_PROXY"] = ""
os.environ["HTTPS_PROXY"] = ""
os.environ["no_proxy"] = "*"
os.environ["NO_PROXY"] = "*"
asyncio.run(main())
然后启动服务:
python main.py
出现 "Enter your prompt:" 说明启动成功了!🎉
四、实测 Demo
让我们来测试一下 OpenManus 的能力吧!看我让它解释什么是 Python 装饰器:
Enter your prompt: 帮介绍一下python装饰器
OpenManus 不仅给出了专业的理论解释,还通过实际的 Python 代码执行演示了装饰器的按种用法:
- ✅ 基础装饰器 - 在函数前后添加日志
- ✅ 带参数的装饰器 - 如重复执行多次
- ✅ 保留函数元数据 - 使用
functools.wraps - ✅ 类方法装饰器 - 为类方法添加调用日志
- ✅ 错误处理装饰器 - 优雅捕获异常
- ✅ 缓存装饰器(Memoization)- 提升 Fibonacci 数列性能
- ✅ 计时器装饰器 - 方便性能分析
- ✅ 多装饰器组合 - 日志+计时+错误处理一体化
整个过程 OpenManus 通过自行书写代码、执行验证、修正错误、逐层完善教学示例,展示了强大的代码理解和教学能力,真心震撼!🤯
五、总结与心得
搞定!经历这次部署,我有几点经验分享给大家:
💡 核心要点
- PyEnv 是多版本管理的瑞士军刀,学会它之后,再也不怕多个项目的版本冲突问题
- 局部版本切换最适合实际开发,全局做好基础配置,每个项目用自己的版本
- OpenManus 的启动过程很顺畅,如果遇到代理问题,记得检查并取消代理设置
- 虚拟环境必不可少,
uv venv+pip都可以,保持项目间的干净隔离
🎯 下一步探索
部署只是第一步,接下来打算:
- 深入了解 OpenManus 的插件体系
- 尝试结合自己的日常工作流定制 agent 行为
- 探索与其他工具(如浏览器自动化)的集成
OpenManus 代表了新一代 AI Agent 的可能性方向,非常值得花时间深入研究和实践!
参考资源
- 📖 OpenManus 官方文档
- 🛠️ PyEnv 官方仓库
- 🐍 Python 官方下载