mirror of
https://git.openapi.site/https://github.com/desirecore/market.git
synced 2026-06-06 05:30:39 +08:00
## Summary
- 将所有技能文件中的硬编码 `~/.desirecore/` 和 `$HOME/.desirecore/` 路径替换为
`${DESIRECORE_ROOT}/` 变量
- 递增 manifest.json version 至 1.2.1
## Why
dev 模式下 `DESIRECORE_HOME=~/.desirecore-dev`,硬编码路径导致技能读取错误的端口文件和目录。主仓库的
`variable-substitutor.ts` 会在运行时将 `${DESIRECORE_ROOT}` 替换为实际根目录。
## Test plan
- [ ] `npm run dev` 启动后触发任意技能,确认端口路径解析为
`~/.desirecore-dev/agent-service.port`
- [ ] prod 模式确认路径为 `~/.desirecore/agent-service.port`
🤖 Generated with [Claude Code](https://claude.com/claude-code)
3.3 KiB
3.3 KiB
Python 虚拟环境
虚拟环境隔离项目依赖,避免污染全局环境。强烈建议每个项目独立 venv。
venv(标准库,首选)
# 创建(Python 3.3+ 自带)
python3 -m venv .venv
# 激活
# macOS / Linux:
source .venv/bin/activate
# Windows CMD:
.venv\Scripts\activate.bat
# Windows PowerShell:
.venv\Scripts\Activate.ps1
# 验证(路径应指向 .venv)
which python # macOS / Linux
where python # Windows
# 安装依赖
pip install -r requirements.txt
# 退出
deactivate
用 Hatch 安装的 Python 创建 venv
${DESIRECORE_ROOT}/runtime/hatch/local/3.12/python/bin/python3 -m venv .venv
source .venv/bin/activate
pipx(全局 CLI 工具)
pipx 把每个 CLI 工具装在独立 venv 里,对外暴露 shim,不污染系统/项目 Python。
# 安装 pipx
brew install pipx # macOS
sudo apt install pipx # Ubuntu/Debian
pip install --user pipx # 通用兜底
pipx ensurepath
exec "$SHELL"
# 安装 CLI 工具
pipx install black
pipx install ruff
pipx install markitdown
pipx install poetry
pipx install uv
# 升级
pipx upgrade-all
# 卸载
pipx uninstall black
# 列表
pipx list
适用场景:black / ruff / mypy / poetry / uv / markitdown 等命令行工具。
conda / miniconda(数据科学)
适用于:需要 BLAS / CUDA / 非 Python 依赖(科学计算)。
# 安装 miniconda(macOS / Linux)
curl -fsSL "https://repo.anaconda.com/miniconda/Miniconda3-latest-$(uname -s)-$(uname -m).sh" -o miniconda.sh
bash miniconda.sh -b -p "$HOME/miniconda3"
eval "$("$HOME/miniconda3/bin/conda" shell.$(basename $SHELL) hook)"
# Windows: 下载 https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe 安装
# 创建环境
conda create -n myproject python=3.12
conda activate myproject
# 装包(conda 优先,pip 兜底)
conda install numpy pandas scikit-learn
pip install some-pypi-only-package
# 导出 / 还原
conda env export > environment.yml
conda env create -f environment.yml
# 退出
conda deactivate
conda 与 DesireCore Hatch 共存
两者都把 Python 装在用户目录,互不影响。规则:
- 数据科学项目(涉及 numpy/pandas/jupyter/CUDA)→ conda
- 普通 Web/CLI/办公技能 → Hatch + venv
requirements.txt 与 pyproject.toml
requirements.txt(简单)
fastapi==0.111.0
pydantic>=2.0,<3.0
markitdown
pyproject.toml(现代)
[project]
name = "myproj"
version = "0.1.0"
requires-python = ">=3.10"
dependencies = [
"fastapi>=0.111",
"pydantic>=2.0,<3.0",
]
[project.optional-dependencies]
dev = ["pytest", "ruff", "mypy"]
安装:pip install -e . 或 pip install -e ".[dev]"。
何时用哪个
| 场景 | 工具 |
|---|---|
| 普通 Python 项目 | venv + pip |
| 全局 CLI 工具(black/ruff/markitdown) | pipx |
| 数据科学 / Jupyter / CUDA | conda |
| 现代项目管理(含构建发布) | Hatch(自带项目管理)或 uv |
| 严格隔离 / 多 Python 版本快速切换 | DesireCore Hatch + venv |
常见误区
- ❌
sudo pip install—— 永远不要这样做 - ❌ 在系统 Python 上直接
pip install—— PEP 668 会拒绝 - ❌ 多个虚拟环境工具同时激活(venv + conda 嵌套)—— 路径会乱
- ❌ 把 venv 加入 git ——
.venv/应该在.gitignore里