基于 CNB 的自定义 Python 开发环境,使用 uv 作为包管理器,支持选择云端开发环境配置。
我的云原生开发 列表页进入。. ├── .cnb.yml # CNB 配置入口 ├── .cnb/ │ ├── python-env # Dockerfile 构建文件 │ ├── web_trigger.yml # 云开发按钮触发配置 │ └── scripts/ │ ├── prepare_python_env.sh # Python 环境准备脚本 │ ├── check_params.sh # 参数检查脚本 │ ├── create_languagepacks.sh # 中文语言包配置脚本 │ └── add_vscode_config.sh # 插件和窗口配置脚本 ├── pyproject.toml # uv 项目配置文件 ├── main.py # 示例入口文件 ├── .gitignore └── README.md
镜像不存在时流水线会自动触发构建,并推送到制品库。
# 构建镜像
docker build -f .cnb/python-env -t ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}/python-env:latest .
# 推送镜像
docker push ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}/python-env:latest
在 CNB 仓库页面点击「远橙开发」按钮,可自定义:
/opt/uv-envs/venv/bin/pythonUV_PROJECT_ENVIRONMENT 环境变量# 索引模式,优先选择第一个具有兼容版本的索引
export UV_INDEX_STRATEGY="unsafe-first-match"
# 安装依赖
uv pip install <package>
# 同步 pyproject.toml 中的依赖
uv sync
.cnb/scripts/create_languagepacks.sh 脚本生成中文语言包配置.cnb/scripts/add_vscode_config.sh 添加插件配置到工作区 settings.json ,因为用户配置会被漫游覆盖,可自行添加到用户配置进行漫游后取消相关代码。