开发工具代码编辑器数据科学【免费下载链接】positronPositron, a next-generation data science IDE项目地址https://gitcode.com/gh_mirrors/po/positron点击查看免费下载本文以 Positron 数据科学 IDE 的 Python 环境搭建技能文档python-setup.md为骨架系统讲解三条核心命令用python.interpreterPath探测当前激活的解释器、用python.installPythonViaUv从零安装 Python、用python.createEnvironmentAndRegister创建 venv / Conda / uv 项目环境。读完你将掌握在 Positron 中通过 Agent 命令完成新用户 Python 环境就绪全流程的实操方法并理解这些命令在 Python 扩展与 Positron Runtime 管理背后的实现原理。背景这些命令从哪里来何时可用文档明确指出这三条命令来自 Python 扩展extensions/positron-python因此只有在 Python 支持加载后才会存在——如果在扩展尚未激活时调用会返回not-found。调用规则与失败处理遵循 SKILL.md命令 id 必须逐字照抄不要凭记忆重打无参命令直接省略args绝不能传空对象或空数组disabled表示前置条件不满足not-found表示当前构建中没有该命令 id。从源码看python.installPythonViaUv、python.createEnvironmentAndRegister、python.interpreterPath均注册于 package.json 的contributes.commands段约 L377-L447其agent字段提供的 Arguments/Returns 描述正是技能模板中{{command:...}}指令展开的数据来源。技能模板本身由 templateExpander.ts 中的expandTemplate处理{{command:ID}}会被替换为从positron.ai.getAgentAllowedCommands拉取到的实时命令元数据因此文档中的Arguments 与 Returns 永远与当前运行的 Positron 构建一致手写的只有何时使用的指导部分详见 README.md。文档还提示解释器就绪后如需启动或切换会话应使用 sessions.md 中的会话命令如需查看已注册的解释器清单则参考 interpreters.md。第一步查找当前激活的解释器python.interpreterPath命令签名与用途python.interpreterPath返回当前工作区中激活的 Python 解释器路径。它是只读命令常见场景下不接收任何参数——在运行 Python 代码或创建环境之前先用它确认当前选中的解释器。从源码看该命令注册于 interpreterPathCommand.ts其核心实现L60-L63为const interpreterPath (await this.interpreterService.getActiveInterpreter(workspaceFolderUri))?.path ?? python; return interpreterPath.toCommandArgumentForPythonExt();即从解释器服务取当前工作区的活动解释器取不到时回退为字面量字符串python。返回值语义python是需要设置的信号有激活解释器返回其路径字符串且经过 shell 引号包裹toCommandArgumentForPythonExt可直接嵌入命令行使用若需要裸路径应剥离外层引号。没有选中任何解释器返回字面量python。这是文档强调的关键信号——返回python即表示环境搭建尚未完成应进入第二步的安装流程。实战用法调用命令python.interpreterPath 参数无省略 args第二步从零安装 Pythonpython.installPythonViaUv适用场景当python.interpreterPath返回python未选择任何解释器、或当前仅有系统 Python 而用户想要一个干净的解释器时使用python.installPythonViaUv。它通过 uv 安装 Python 解释器、注册到 Positron并直接在 Console 中启动。该命令没有入参——它会提示用户选择版本并显示进度因此并非瞬时完成。文档明确建议优先使用此命令而不是让用户手工在终端安装 Python。命令元数据来自 package.json 的 agent 描述ArgumentsNone。Returns安装成功时返回{ pythonPath, runtimeId }——pythonPath为已安装的解释器路径runtimeId为已注册的运行时同时已在 Console 启动。用户取消版本选择或安装失败时返回空失败信息会呈现给用户不要盲目重试。源码级的完整执行流程命令处理器注册于 createEnvApi.ts内部调用 uvPythonInstaller.ts 的installPythonViaUv()其流程为确保 uv 可用ensureUvInstalled检查 uv 是否已安装未安装时弹窗征得用户同意后运行官方安装脚本Windows 走install.ps1其余平台走install.sh见 L76-L121。注意若python.allowUvPythonInstall配置为false此步骤会在不弹窗的情况下直接失败L135。选择版本selectPythonVersion让用户挑选 Python 版本用户取消则返回Cancelled。安装 Python若所选版本已存在则直接复用其路径wasAlreadyInstalled否则调用installPythonVersionAndGetPath下载安装。可选创建 venv有工作区时弹窗询问是否在首个工作区创建 uv venvcreateUvVenv无工作区时引导用户打开文件夹或按需在$WORKON_HOME/positron默认~/.virtualenvs/positron创建全局环境L435-L495。刷新环境refreshEnvironments触发一次解释器重扫描让新解释器被正确识别为 uv 管理L497-L502。注册运行时命令处理器调用handleInstallPythonResultcreateEnvApi.ts通过pythonRuntimeManager.registerLanguageRuntimeFromPath注册运行时注册失败时先triggerInterpreterRefresh再重试一次。启动会话拿到runtimeId后命令处理器以尽力而为的方式调用positron.runtime.selectLanguageRuntime(runtimeId)在 Console 启动该运行时L384-L393即使启动失败解释器仍已注册会出现在会话选择器中。从 package.json 可见该命令的菜单可见性受!virtualWorkspace shellExecutionSupported config.python.allowUvPythonInstall约束python.allowUvPythonInstall默认值为true见 environmentHealth.ts。实战用法调用命令python.installPythonViaUv 参数无省略 args第三步创建项目环境python.createEnvironmentAndRegister适用场景当已存在某个解释器、而用户希望按项目隔离环境而非使用全局 Python时使用python.createEnvironmentAndRegister。它创建隔离的 Python 环境venv、Conda 或 uv注册到 Positron 并选中它。命令元数据package.json说明创建成功的返回值为{ path, metadata }新解释器路径 注册后的运行时元数据请求非法或失败时返回带error的对象应如实上报错误而非重试。让命令自己决定 vs 显式指定 provider让用户/命令自行选择完全不加 source 参数让命令弹出交互式提示文档建议拿不准时采用此方式Positron 会自行套用其默认偏好。非交互式驱动传入providerId并恰好搭配一个 Python source见下方三选一组合。三条 provider 组合核心参数表环境类型providerId必须搭配的 source 参数说明uvms-python.python:uvuvPythonVersion如3.12为新建的 uv 环境指定 Python 版本Condams-python.python:condacondaPythonVersion如3.12为新建的 Conda 环境指定 Python 版本venvms-python.python:venvinterpreterPath现有解释器路径作为 venv 的基底补充可选参数源码 schemaL421-L428workspaceFolder创建环境的工作区文件夹 URI默认当前文件夹envName新环境的名称。只传providerId而不带 source会触发交互式提示文档明确说明。若用户完全没有 Python应先用python.installPythonViaUv安装而不是让本命令指向一个它还得去下载的版本。选择 provider 的推荐策略当自行挑选 provider 而非让用户选择时遵循 Positron 的惯例优先级uv → Conda若已安装→ venv。具体做法用workbench.action.language.runtime.getRegisteredRuntimes传languageId: python列出已注册的解释器详见 interpreters.md查看每条记录的runtimeSource字段取值如uv、Conda、Venv、System等判断各管理器是否可用存在uv来源 → 优先 uv否则存在Conda来源 → 用 Conda兜底是在任一现有解释器上创建 venv列表为空说明根本没有 Python——先执行python.installPythonViaUv选择 venv 时从getRegisteredRuntimes结果中取一条runtimePath作为基底。源码实现创建 → 注册 → 选中该命令在 createEnvApi.ts 的createEnvironmentAndRegister中实现前置校验缺少providerId或三个 sourceinterpreterPath/condaPythonVersion/uvPythonVersion一个都没给直接抛出请指定 provider ID 与解释器路径或 Conda/uv 版本的错误L106-L110工作区解析rehydrateWorkspaceFolder把 URI 字符串还原为WorkspaceFolder并对vscode-remote://与file://等不同 scheme 做了按路径匹配的兜底L66-L77若既未传工作区又没有打开任何文件夹直接拒绝防止非交互式调用者如 Agent阻塞在通知上执行创建handleCreateEnvironmentCommand(providers, resolvedOptions)调用统一的环境创建流程注册运行时创建成功拿到result.path后调用pythonRuntimeManager.registerLanguageRuntimeFromPath(result.path)注册并合并metadata返回。关于 provider 的启用与排序isEnvProviderEnabledL228-L231依据python配置中createEnvironment.providers旧键为createEnvironment.content见 L187-L195过滤可用 provider未配置时默认启用 venv、Conda、uv 三者getRankedProviders会把已安装的 uv 排到首位createEnvApi.ts。此外python.allowUvPythonInstallfalse时 uv 会从 provider 列表中剔除——因为选它只会失败。这与文档uv → Conda → venv的偏好排序在源码层面完全对应。另外python.createEnvironmentAndRegister对应的一条命令元数据描述也印证了用法要跳过所有提示请传入providerId加一个 sourcevenv 用interpreterPathConda/uv 用condaPythonVersion/uvPythonVersion要从零安装 Python 则用python.installPythonViaUv。实战用法示例以现有解释器为基底创建 venv调用命令python.createEnvironmentAndRegister 参数args按顺序 options { providerId: ms-python.python:venv, interpreterPath: /path/to/base/python // 取自 getRegisteredRuntimes 的 runtimePath }创建 uv 环境调用命令python.createEnvironmentAndRegister 参数args按顺序 options { providerId: ms-python.python:uv, uvPythonVersion: 3.12 }四个实战工作流速查把三条命令组合起来即可覆盖新用户 Python 环境搭建的典型场景场景一完全没有 Pythonpython.interpreterPath→ 返回python确认未选择解释器python.installPythonViaUv→ 安装、注册并在 Console 启动如需项目级环境继续python.createEnvironmentAndRegister此时已存在基底解释器。场景二有系统 Python想要干净环境python.interpreterPath确认现状python.installPythonViaUv安装独立解释器优先于手工安装再用python.createEnvironmentAndRegister建项目环境。场景三已有解释器想要项目隔离环境workbench.action.language.runtime.getRegisteredRuntimeslanguageId: python查可用解释器与runtimeSource按 uv → Conda → venv 的优先级选择 provider非交互式传入providerId 对应 source或省略 source 让命令弹窗。场景四列表为空时不要用python.createEnvironmentAndRegister指向尚不存在的版本先执行python.installPythonViaUv再回来建环境。常见问题与失败处理返回not-found命令 id 在当前构建中不存在——通常是 Python 扩展尚未激活或构建版本与技能预期不符。如实上报不要用相似名字的 id 替代规则见 SKILL.md。返回disabled命令前置条件不满足如python.installPythonViaUv受config.python.allowUvPythonInstall门控直接说明原因而非重试。安装失败或用户取消python.installPythonViaUv返回空错误信息会以通知形式呈现带显示日志按钮可查看 Python Language Pack 输出通道见 uvPythonInstaller.ts不要盲目重试。python.createEnvironmentAndRegister返回error如实转述错误信息例如缺少 source、工作区不存在等而不是猜测修复。解释器装了却看不到按 interpreters.md 的排查流程执行先workbench.action.language.runtime.discoverAllRuntimes强制重扫再查getRegisteredRuntimes仍缺则用workbench.action.language.runtime.registerRuntimeFromPath按路径注册。关联文档与源码索引技能入口与命令调用规范SKILL.md本主题原始参考文档python-setup.md已注册解释器查询与注册interpreters.md会话的列出 / 切换 / 启动sessions.md命令元数据与技能模板展开机制README.md、templateExpander.tsPython 扩展命令注册与 Agent 元数据package.json解释器路径命令实现interpreterPathCommand.tsuv 安装 Python 的实现与 uv 引导安装uvPythonInstaller.ts环境创建与注册含 provider 校验、工作区解析、运行时注册createEnvApi.ts运行时按路径注册与runtimeSource元数据生成manager.ts赞分享开发工具代码编辑器数据科学【免费下载链接】positronPositron, a next-generation data science IDE项目地址https://gitcode.com/gh_mirrors/po/positron点击查看免费下载相关推荐Positron 中的 Python 虚拟环境创建、管理与依赖安装实战指南Positron 中的 Python 虚拟环境创建、管理与依赖安装实战指南 本文基于 Positron 仓库中 Python 扩展的入门引导文档 envir开发工具代码编辑器数据科学Hyperf 安装部署指南环境要求、Composer 创建项目与 Docker 开发环境搭建Hyperf 安装部署指南环境要求、Composer 创建项目与 Docker 开发环境搭建 本文以 Hyperf 官方安装文档为主体结合仓库源码comp后端Web框架微服务RPC框架异步编程AI-Aimbot 环境搭建用 Conda 创建 Python 3.11 的 RootKit 隔离环境实战指南AI Aimbot 环境搭建用 Conda 创建 Python 3.11 的 RootKit 隔离环境实战指南 本文是 AI Aimbot 项目 Conda人工智能计算机视觉上一篇YoutubeDownloader FFmpeg下载指南Download-FFmpeg.ps1自动化脚本解析下一篇dbx 项目 Consul 2.0.2 本地开发环境recipe 编排、无 ACL 开发模式与 KV 冒烟验证实战创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考