环境信息:
- 使用了 DotNet SDK 8.0。
- 使用了 Visual Studio 2022 (14.44.35224) 编译器。
- 使用了 Unreal Build Accelerator (UBA) 本地加速器,总耗时约 148 秒
可以直接点击"运行"或者回到 Unreal Editor 界面,它应该会自动热重载(Live Coding)或者提示你代码已更新。
ETW (Event Tracing for Windows):这是 Windows 提供的一种性能跟踪机制。
"运行(Run)",本质上是 IDE 替你执行了一个指令,去启动虚幻引擎编辑器并自动加载你的项目。
它会加载你刚刚编译好的最新代码(DLL 文件)。
手动打开了一个 Editor 窗口,再从 Rider 点运行,这就没有必要了,rider的连接层
"锤子"图标(Build Solution / Build and Reload),它的底层动作就是主动去调用 UnrealBuildTool.exe (UBT)。
普通的 C++ 编译器(如 MSVC)并不知道如何处理虚幻引擎特有的东西,



保持run的作用,关闭ue会自动关闭,

无论这个进程是用 C++、C# 还是 Python 写的,只要有对应的调试符号(PDB文件),IDE 就能"粘"上去。
不是通过 Rider 点击 Run 启动的 UE(比如你双击 .uproject 运行的),你依然可以通过 Attach to Process 选中 UnrealEditor.exe
操作系统的调试 API 接管目标进程。
寻找你当前代码编译出的 .pdb 文件,把内存里的机器码对应回你正在看的 .cpp 源码行数。
Attach 就能开始打断点。
很多小国确是是直接使用他国货币的,比如非欧盟中6个国家(地区)的货币,他们分别是:摩纳哥、圣马力诺、梵蒂冈、安道尔、黑山和科索沃地区。其中,前4个袖珍国根据与欧盟的协议使用欧元,而后两个国家(地区)则是单方面使用欧元。
,比如美元崩溃了,在逐渐崩溃的过程中,居民自然会逐渐转而选择其他货币,比如欧元、人民币来替代美元,都不需要你去换锚。
举个例子,银行和商家看到美元崩溃,此过程中肯定会逐步将自己的美元兑换为欧元、人民币等其他有信心的货币,自然而然就实现换锚了
寻找你当前代码编译出的 .pdb 文件,
内存里的机器码
回你正在看的 .cpp 源码行数。
NVM (Node Version Manager) has two main implementations:
- nvm-windows: For Windows operating systems
- nvm-sh: For Linux, macOS, and Windows Subsystem for Linux (WSL)
This guide will help you download the appropriate version for your operating system.
nvm (
Node Version Manager ) 主要管理计算机上多个不同版本的 Node.js 运行环境 。它允许用户在同一台机器上轻松安装、卸载、查看以及快速切换不同的 Node.js 版本(例如 v14, v16, v18 等),以解决不同项目对 Node.js 版本兼容性需求不同的问题。
nvm安裝的 Node 會放在用戶目錄下,完全不需要管理員權限就能隨意安裝工具,這對 Roo Code 啟動相關組件非常重要。
IDE(如 VS Code 或 IntelliJ)默认不会帮你安装 Node.js 。
跨平台开发语言 :这些插件通常是用 TypeScript/JavaScript 编写的。要运行这些代码,系统必须有一个"引擎",这个引擎就是 Node.js。
不让插件卡死你的编辑器,Roo Code 会在后台启动一个独立的 Node.js 进程来处理 AI 对话、文件扫描和 MCP 工具调用。
求 AI "帮我安装依赖"或"运行测试"时,AI 实际上是在调用你系统里的 Node.js 环境来执行这些命令。
根据 Stack Overflow 和 Statista 的最新调研数据(2025-2026年):
- 全球最流行框架 :Node.js 是全球软件开发者中使用最广泛的 Web 技术,使用率高达 48.7%。
- 后端首选 :在后端开发领域,Node.js 以约 49.1% 的占有率稳居第一,领先于 ASP.NET Core (21.3%) 和 Express (20.3%)。
- 生态规模 :其包管理器 npm 拥有超过 200 万个 软件包,是全球最大的软件注册表。
虽然在 Web 服务器总量上 Nginx 和 Apache 仍占大头,但 Node.js 在高性能应用中的占比持续上升:
- 站点占比 :根据 W3Techs 2026 年 3 月的最新数据,Node.js 作为 Web 服务器的使用率约为 6.0%。
- 头部效应 :在高流量的大型站点中,Node.js 的采用率更高。知名用户包括 Netflix、PayPal、LinkedIn、Amazon、GitHub、Spotify 和 Discord 等。
跨平台标准:
绝大多数 AI 编程助手的底层交互协议(如 MCP)都优先支持 Node.js 环境。
使用时的动态激活 ( nvm use )
这是最容易被忽略的一步。虽然变量配置好了,但如果你不执行命令,环境变量里那个 C:\Program Files\nodejs 文件夹其实是 空的(或者根本不存在)。
当你执行:
nvm use 20.11.1
nvm 的核心功能就在这时触发: 它会动态创建一个"符号链接"(Symbolic Link),把 C:\Program Files\nodejs 这个路径瞬间指向你安装好的 Node v20 文件夹。
只有执行了 nvm use ,你的 node -v 和 where node 命令才会生效。
原始的 3D 查看器是基於較舊的框架(如 UWP)構建的。微軟目前正推動系統介面的現代化,並傾向於使用更強大且跨平台的解決方案。
系統建議用戶改用 Babylon.js Sandbox。Babylon.js 是一個功能更全面的網頁端 3D 引擎,支援多種格式(如 .gltf, .glb, .obj, .stl 等),且能提供更精確的照明控制、材質檢視與動畫播放功能。
pip install 是 Python 的官方套件管理工具 。它全称为 "Pip Installs Packages",专门用于下载、安装、更新和管理由 Python 编写的第三方函式庫(Packages)。透過 pip install <套件名稱> 指令,可輕鬆從 PyPI 下載安裝如 numpy 、pandas 等庫。
Aider 是基於 Python 的工具。請確保你的電腦已安裝 Python,然後在 Rider 底部的 Terminal 輸入:
bash
pip install aider-chat
与 Aider (原版) 的关系
这是一个 "前端"与"后端" 的关系:
- Aider (CLI):是引擎,负责分析代码、调用 API、执行 Git 提交。
- Aider-Desk:是仪表盘,负责把引擎的能力展示成按钮和窗口。
注意: 使用 Aider-Desk 前,你通常仍然需要在电脑上通过
pip install aider-chat安装好原版 Aider,因为它本质上是在后台帮你在跑命令行。
Python 环境里缺少必要的"建筑工具" (setuptools ),导致 pip 在尝试安装 Aider 时,无法处理一些需要现场编译的组件。
setuptools: 建筑师(负责把源码变成可执行程序)。
UE4 后期版本和 UE5 默认都内嵌了一个特定版本的 Python(例如 UE 5.4/5.5 通常内嵌的是 Python 3.11)。
- 物理隔离 :UE 会在它自己的安装目录下(如
Engine/Binaries/ThirdParty/Python3/...)放一个完整的 Python 运行环境。 - 不看系统版本 :无论你系统里装的是 3.13 还是用
pyenv切换到了 3.12,UE 运行脚本时默认只认它自己带的那个。
在 UE 环境中安装库(解决 NumPy 报错的关键)
如果你要在 UE 的 Python 里用 numpy ,直接在 CMD 里输入 pip install numpy 是 无效的(它会装到你系统的 3.13 里去,导致 UE 找不到,或者再次报编译错误)。
正确做法: 你需要调用 UE 内嵌的那个 python.exe 来安装。
- 找到 UE 目录下的
python.exe(通常在Engine\Binaries\ThirdParty\Python3\Win64)。 - 在那个目录下打开 PowerShell,执行:
为什么没有 .exe ?
因为 pyenv 的核心工作原理是 修改系统的环境变量(PATH)。
- 它需要把自己排在系统自带 Python 的前面。
.exe安装程序有时无法完美处理复杂的路径优先级冲突。- 通过命令行安装可以确保它能正确地"劫持"你的
python指令。
用户目录(如
C:\Users\用户名 或 /home/user )下以 . 开头的文件夹是隐藏的配置文件或应用数据文件夹 。它们通常由开发者工具、软件程序创建,用于存储用户特定的软件设置、缓存、历史记录或插件,遵循 Linux 风格的隐藏文件习惯。
常见 . 开头文件夹示例:
.vscode: Visual Studio Code 编辑器配置。.android/.androidstudio: Android SDK 或 Android Studio 配置文件。.ssh: SSH 密钥和登录配置。.gitconfig/.git: Git 版本控制的全局配置。.cache/.local: 软件运行产生的缓存或本地应用程序数据。.docker: Docker 配置文件。
若软件已卸载,可放心删除对应的 .文件夹 。
在 Linux/macOS 中使用 ls -a 查看;Windows 中可在"视图"设置中勾选"显示隐藏的文件"。
加个点变成 .pyenv ,明确告诉系统和开发者:"这是一个底层工具的存储目录,不是普通用户的数据文件夹。"
- 用戶變數 :僅對當前登入的使用者(例如
86134)生效。安裝和修改不需要管理員(Administrator)權限。 - 系統變數:對這台電腦的所有使用者生效。修改它通常需要彈出 UAC 警告。
- 關鍵點 :
pyenv的運作原理是頻繁地更換 Python 版本,這涉及到修改路徑。如果放在系統變數,每次切換版本可能都會因為權限不足而失敗。
Windows 搜尋命令的邏輯是:
- 當前目錄
- 用戶變數中的 Path
- 系統變數中的 Path
如果你把 pyenv 放在 用戶變數 並置頂,它就能成功「截獲」原本指向系統自帶 Python 3.13 的指令。如果你放在系統變數,萬一順序沒排好,系統可能還是會跑去執行原本安裝在 C:\Python313 的舊程式。
修改了系統變數,強行把全域 Python 換成 3.12,可能會導致某些依賴 3.13 的系統工具出錯。
這涉及到 pyenv 如何「截獲」並「切換」你的 Python 指令:
%PYENV%\bin:- 這裡存放的是
pyenv.bat主程式。 - 作用 :讓你在終端機輸入
pyenv install或pyenv global時,電腦知道去哪裡執行這個管理工具。
- 這裡存放的是
%PYENV%\shims(最重要的部分):shims就像是「墊片」或「代理人」。- 作用 :當你切換到 Python 3.12 時,
shims文件夹裡會生成一個假的python.exe。當你輸入python,它會先跑去問pyenv:「現在該用哪個版本?」,然後再幫你跳轉到真實的 Python 3.12 路徑。 - 關鍵 :這就是為什麼你不需要手動改路徑,只要
pyenv global 3.12,這個「代理人」就會自動幫你換人。
如果系統變數裡已經裝了兩個 Python,會怎樣?
這就是為什麼要強調 「順序」 和 「用戶變數」:
- 優先級規則 :Windows 執行命令時,會按照
Path列表從上到下 尋找。找到第一個匹配的.exe就停止。 - 用戶變數 vs 系統變數 :Windows 會先看用戶變數 的 Path,再看系統變數的 Path。
你的情況:
- 系統變數裡有 Python 3.13 和 3.10。
- 你在用戶變數裡添加了
%PYENV%\shims。 - 結果 :當你輸入
python,Windows 會先在用戶變數 裡找到shims裡的 Python 代理人,然後直接執行它。系統變數裡的 3.13 和 3.10 會被直接跳過(無視)。
%USERPROFILE% 或 %IntelliJ IDEA% )被称为 "环境变量" (Environment Variables)。
它们本质上是 路径的快捷方式 或 系统占位符,主要作用和含义如下:
- 为什么使用它?
- 兼容性 :不同的电脑,用户文件夹的名字可能不同(例如你的用户名是
86134,别人的可能是Admin)。使用%USERPROFILE%可以让程序自动找到当前登录用户的根目录,而不需要硬编码具体的用户名。
- 权限分层:系统运行在"管理员"或"系统级"权限下,而你平时操作是在"用户"权限下。
- 防止病毒扩散:如果某个流氓软件或病毒在你操作时运行,它只能破坏你这个"用户"的文件,而很难直接修改系统的核心引导文件(因为那需要更高级别的系统权限)。
现代软件(如 Chrome, VS Code, Office)通常不会把你的个人设置(插件、历史记录、书签)存在安装目录下,而是存在 C:\Users\用户名 下。
- 重装/备份方便:如果你想换台电脑,你只需要拷贝这个用户文件夹,就能带走所有软件的个性化配置。
(%USERPROFILE%):正如你上一张图中看到的,程序通过"用户名"这个占位符,可以准确找到你的文档和桌面,而不会和其他临时数据混淆。
操作系统在底层把"人"看作一个 进程的所有者。
- 即使只有你一个人,电脑后台可能运行着几十个系统服务。系统需要区分哪些任务是"你"发起的(比如打开网页),哪些是"系统"发起的(比如更新驱动)。
- 如果没有用户概念,所有的程序都会混在一起,系统很难有效管理内存分配和任务优先级。
- 通用性:开发者不可能为"单人电脑"专门开发一套系统架构,再为"多人电脑"开发另一套。
- 未来扩展:也许你现在是一个人用,但如果你未来想创建一个专门用来测试软件的"访客账号",或者把电脑临时借给朋友,现有的用户架构让你点几下鼠标就能完成隔离,而不需要重新安装系统。
第二个(或多个)用户账号 通常不是为了给别人用,而是 为了**"环境隔离"** 和**"系统急救"** 。
"Tin"在
普通话中没有严格对应的汉字读音。现代标准汉语(普通话)声母t和韵母in不兼容,即没有tin这个音节。但在粤语等方言中存在"tin"的发音(如"田"、"天"),在英语中则指"锡"或"罐头"
原版 pyenv 不支持 Windows。
pyenv 通过 "shims" 拦截 python 命令,而 conda 通过修改 $PATH 激活环境。两者同时开启会导致 shell 变得非常混乱。
Aider 的安装确实对 Python 版本有严格要求
。目前它仅官方支持 Python 3.9 到 3.12。如果你使用了 Python 3.13 或更旧的版本,或者环境中有依赖冲突,直接 pip 安装大概率会失败。
任何操作系统中,当你输入 python 时,系统会按照环境变量 PATH 里的文件夹顺序,从左到右挨个找。谁排在最前面,谁就是"默认"。
- 激活前 :你的
PATH可能是C:\Windows; C:\Python313。系统先看到 3.13,于是运行它。 - 激活后 :Conda 把它的环境路径强行插到了最前面 ,变成:
C:\Users\Conda\envs\aider\bin; C:\Windows; C:\Python313。
系统第一眼看到的是aider环境里的 Python,于是成功"接管"。
环境查看与切换(控制谁排在 $PATH 最前面)
conda env list:列出所有已创建的"集装箱"(环境)及其存放路径。conda activate <环境名>:核心命令。执行后,该环境的路径会被插入到系统 $PATH 的最前面。conda deactivate:退出当前环境,将 $PATH 恢复到进入环境之前的状态。
确认当前"接管"状态
如果你想知道现在到底是谁在当家,可以用这些命令:
conda info:显示当前激活环境的所有细节,包括 Python 版本、路径和环境变量。which python(Mac/Linux) 或where python(Windows):
直接显示系统搜索python命令时找到的第一个路径。如果是在 Conda 环境下,它应该指向.../envs/环境名/python。
只有通过 Conda 渠道下载的,它才"全权负责"
如果你使用 conda install <包名> ,它会从官方或第三方"频道"(Channels,如 conda-forge)下载。
- 这种资源受它完美管理:它可以自动处理 Python 版本、C++ 编译器版本、甚至系统级库(如 CUDA, SSL)的冲突。
- 它可以实现"一键还原" :如果你装坏了,
conda install能帮你回溯版本。
Aider 报错,是因为它需要 Python 3.10-3.12 的底层环境。你用 conda create -n aider python=3.12 ,Conda 就会去自己的服务器下载一个 完美的、预编译好的 3.12 解释器二进制文件 放到对应的文件夹里。
Conda Channels (Conda 的仓库) :虽然核心库(如 NumPy, Pandas, PyTorch)更新非常快且极其稳定,但一些冷门或刚出的工具(比如 Aider 的某些新组件)可能还没人搬运到 Conda 的频道里。
(pip 是"亲儿子")
- pip 是 Python 官方(PyPA)自带的包管理工具。几乎所有的 Python 教程、GitHub 项目的
README都会默认你已经装好了 Python,所以直接写pip install。
没人搬运到 Conda 的频道里。
当你使用 pyenv global 3.10.0 或 pyenv local 3.8.0 时,它其实是在修改一个指向。如果 Python 是你自己乱放的,切换时经常会出现 pip 找不到路径或环境变量冲突的问题。
Python 本质上是"绿色软件"
虽然官方提供 .exe 安装包,但 Python 其实只需要一个文件夹(包含 python.exe 、标准库和解释器)就能运行。
- 无注册表依赖:Python 运行并不高度依赖 Windows 注册表。只要文件夹完整,丢到哪都能跑。
- pyenv 的做法 :它只是把这些文件夹统一放在了
\.pyenv\pyenv-win\versions\目录下。你删除旧的、下载新的,本质上只是换了个文件夹存放。
你写的 .py 文件、项目代码都在你自己的文档或工程文件夹里。
- 卸载 Python 不会删除你的代码。
- 重新下载后,你只需要告诉编辑器(如 VS Code 或 PyCharm):"嘿,现在的 Python 解释器在
pyenv的路径下",代码就能立即跑起来。
大家最担心的是卸载后之前安装的 requests 、 pandas 等库没了。其实这很好解决:
- 导出清单 :在卸载前,运行
pip freeze > requirements.txt。 - 一键恢复 :在
pyenv安装完新版本后,运行pip install -r requirements.txt。 - 这样,你的开发环境就能在几分钟内原样恢复。
影响最小的关键点。
- 以前 :你安装多个 Python,需要手动去系统设置里改
PATH,改错了就会出现"明明装了却找不到"或者版本对不上的情况。 - 现在 :
pyenv-win已经帮你把PATH占住了(通过 Shim 垫片)。无论你下载还是删除版本,系统环境变量都不需要再动了 ,你只需要敲一行pyenv global x.x.x即可。
python多版本管理pyenv ,是相对于文件夹内的操作设置。
pyenv local
的设置是相对于 当前目录(Current Working Directory) 及其 子目录 的。
它的工作原理非常直观:
-
核心逻辑:寻找
.python-version文件
当你运行pyenv local 3.10.0时,pyenv-win会在当前文件夹下创建一个名为.python-version的隐藏文本文件,内容只有一行:3.10.0。
当你在这个文件夹下输入python命令时: -
垫片(Shim)拦截 :
pyenv的垫片程序启动。 -
向上追溯 :它首先检查当前目录 是否有
.python-version。 -
递归搜索 :如果当前目录没有,它会向上一级父目录查找,直到磁盘根目录。
-
最终回退 :如果全盘都没找到,它才会使用
pyenv global定义的全局版本。
假设你有两个项目文件夹:
- 项目 A (
C:\Projects\Web) :需要 Python 3.8。- 你在该目录下运行
pyenv local 3.8.0。
- 你在该目录下运行
- 项目 B (
C:\Projects\AI) :需要 Python 3.11。- 你在该目录下运行
pyenv local 3.11.5。
- 你在该目录下运行
- 当你
cd进入Web文件夹,输入python,执行的是 3.8。 - 当你
cd进入AI文件夹,输入python,执行的是 3.11。 - 你不需要手动修改任何环境变量,切换目录即切换版本。
pyenv 确定版本的优先级如下:
- Shell 级 (
pyenv shell):仅对当前终端窗口有效(最高优先级)。 - 局部级 (
pyenv local):相对于当前目录及其子目录(你关心的这个)。 - 全局级 (
pyenv global):全系统默认版本(最低优先级)。
所以当我想对某个项目独立出来,我需要在这个文件夹下手动输入pyenv local,
当你想要为一个特定项目独立 Python 版本时,只需要执行以下两步:
- 进入项目文件夹 :
cd your-project-path - 设置版本 :
pyenv local 3.x.x(前提是你已经用pyenv install下载了这个版本)
venv 是 Python 3.3 版本以后自带的标准库模块,不需要额外安装
不怕删 :如果你觉得这个项目的库装乱了,直接把 .venv 文件夹删掉,重新运行上面的命令,环境就重置了。
bash
PS C:\Users\86134> pyenv install 3.12
:: [Info] :: Mirror: https://www.python.org/ftp/python
:: [Info] :: Mirror: https://downloads.python.org/pypy/versions.json
:: [Info] :: Mirror: https://api.github.com/repos/oracle/graalpython/releases
:: [Downloading] :: 3.12.10 ...
:: [Downloading] :: From https://www.python.org/ftp/python/3.12.10/python-3.12.10-amd64.exe
:: [Downloading] :: To C:\Users\86134\.pyenv\pyenv-win\install_cache\python-3.12.10-amd64.exe
:: [Installing] :: 3.12.10 ...
:: [Info] :: completed! 3.12.10
PS C:\Users\86134> pyenv local
no local version configured for this directory
PS C:\Users\86134> pyenv version
No global/local python version has been set yet. Please set the global/local version by typing:
pyenv global <python-version>
pyenv global 3.7.4
pyenv local <python-version>
pyenv local 3.7.4
PS C:\Users\86134> python
No global/local python version has been set yet. Please set the global/local version by typing:
pyenv global 3.7.4
pyenv local 3.7.4
PS C:\Users\86134> pyenv versions
3.12.10
PS C:\Users\86134> pyenv global 3.12
PS C:\Users\86134> pyenv global
3.12
PS C:\Users\86134>
https://github.com/pyenv-win/pyenv-win

python --version 检查一下是否变成了 3.12。
--verisons检查全部 python版本
设置项目特定版本 (Local)
如果你在一个特定的项目文件夹里,只想在这个项目用 3.12(而不影响其他地方):
powershell
# 先进入项目目录
cd C:\你的项目路径
# 绑定版本
pyenv local 3.12.0
这时你会发现文件夹里多了一个 .python-version 文件。
既然版本已经有了,你可以尝试创建一个 venv 虚拟环境 来开始你的项目:
powershell
# 1. 确保你在项目文件夹
# 2. 创建虚拟环境
python -m venv .venv
# 3. 激活它
.\.venv\Scripts\activate