其他
搭建 OpenAlgo 指标分析 Python…
当你要为 OpenAlgo 指标分析、绘图和仪表盘开发准备 Python 3.12+ 虚拟环境、依赖包、项目目录和 .env 配置时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 38/100 ×0.15
适用场景
搭建 OpenAlgo 指标分析 Pyt特定
解决思路
- 确认 Python 版本:运行 `python3 --version`,必须为 3.12+;默认参数 `$0` 为 `python3`,也可传入 `python3.12`、`python3.13` 等;若版本低于 3.12,中止并给出清晰提示。
- 检测操作系统:运行 `uname -s 2>/dev/null || echo "Windows"`;将输出映射为:`Darwin` = macOS,`Linux` = Linux,`MINGW*`/`CYGWIN*`/`Windows` = Windows。
- 创建虚拟环境(macOS/Linux):运行 `python3 -m venv venv`、`source venv/bin/activate`、`pip install --upgrade pip`;若用户指定 Python 版本参数,则用该版本替代 `python3`。
- 创建虚拟环境(Windows):运行 `python -m venv venv`、`venv\Scripts\activate`、`pip install --upgrade pip`;若用户指定 Python 版本参数,则用该版本替代 `python`。
- 安装 Python 包:运行 `pip install openalgo yfinance plotly dash dash-bootstrap-components streamlit numpy pandas python-dotenv websocket-client httpx scipy nbformat matplotlib seaborn ipywidgets`。
- 创建项目顶层文件夹:运行 `mkdir -p charts dashboards custom_indicators scanners`;只创建顶层目录,子目录由其他技能按需创建。
- 配置 `.env`:用 AskUserQuestion 询问 OpenAlgo API key,提示来自 OpenAlgo dashboard 的 `/apikey`。
- 继续配置 `.env`:询问 OpenAlgo host URL,默认 `http://127.0.0.1:5000`;若用户有自定义域名或 ngrok URL,则使用该地址。
- 继续配置 `.env`:可选询问 WebSocket URL;默认从 host 自动派生,仅用户有自定义 WebSocket 设置时才需要。
- 在项目根目录写入 `.env`,内容为:`# OpenAlgo API Configuration\nOPENALGO_API_KEY={user_provided_key or \"your_openalgo_api_key_here\"}\nOPENALGO_HOST={user_provided_host or \"http://127.0.0.1:5000\"}\n\n# WebSocket (optional - auto-derived from host if not set)\n# OPENALGO_WS_URL=ws://127.0.0.1:8765`。
- 把 `.env` 加入 `.gitignore`:运行 `grep -qxF '.env' .gitignore 2>/dev/null || echo '.env' >> .gitignore`。
- 运行验证脚本:`python -c \"\nimport openalgo\nfrom openalgo import ta\nimport plotly\nimport dash\nimport streamlit\nimport numpy as np\nimport pandas as pd\nimport yfinance as yf\nimport matplotlib\nimport seaborn\nimport nbformat\nfrom dotenv import load_dotenv\nprint('All packages installed successfully')\nprint(f' openalgo: {openalgo.__version__}')\nprint(f' plotly: {plotly.__version__}')\nprint(f' dash: {dash.__version__}')\nprint(f' streamlit: {streamlit.__version__}')\nprint(f' numpy: {np.__version__}')\nprint(f' pandas: {pd.__version__}')\nprint(f' matplotlib: {matplotlib.__version__}')\nprint(f' seaborn: {seaborn.__version__}')\n\n# Quick indicator test\nclose = np.array([100.0, 101.0, 102.0, 103.0, 104.0, 105.0, 104.0, 103.0, 102.0, 101.0])\nema = ta.ema(close, 3)\nrsi = ta.rsi(close, 5)\nprint(f' ta.ema test: {ema[-1]:.2f}')\nprint(f' ta.rsi test: {rsi[-1]:.2f}')\nprint('Indicator library ready')\n\"`。
- 打印摘要:显示检测到的 OS、使用的 Python 版本、虚拟环境路径、已安装包及版本、创建的项目文件夹、`.env` 文件状态,以及可用技能 `/indicator-chart`、`/custom-indicator`、`/indicator-dashboard`、`/indicator-scanner`、`/live-feed`。
- 重要注意事项:永远不要全局安装包,始终使用虚拟环境。
- 重要注意事项:若用户已有虚拟环境,创建新环境前先询问。
- 重要注意事项:绝不要提交 `.env` 文件,因为它包含 API key。
- 重要注意事项:所有脚本使用 `python-dotenv` 通过 `find_dotenv()` 加载 `.env`。
- 重要注意事项:openalgo 2.x 指标运行在 wheel 内的编译 Rust core 上,无 JIT 编译或 warmup,并要求 Python 3.12+。
适用边界 · 注意事项
- 目标不是 OpenAlgo 指标分析、图表或仪表盘开发,或不需要安装 openalgo 及这套 Python 数据/图表栈时不适用。
- Python 版本低于 3.12 且无法升级时不适用;openalgo 2.x 要求 Python 3.12+。
- 没有 OpenAlgo API key 或无法访问 OpenAlgo host 时,不要按此完成 `.env` 联调配置;只能部分搭建环境,无法进行完整 OpenAlgo 验证。