如何让Windows下的venv生成bin目录而非Scripts目录适配Blender?
在Windows下修改Python虚拟环境路径适配Blender
核心问题
Blender自带的Python目录结构为<Blender安装路径>/python/bin/python.exe,但Windows系统中Python虚拟环境的可执行文件默认存放在<虚拟环境路径>/Scripts/python.exe。直接移动或重命名虚拟环境文件夹会破坏激活脚本内的硬编码路径,以及包的链接关系。
可行解决方案
方案1:用符号链接(软链接)映射路径(推荐)
无需修改虚拟环境本身,通过Windows符号链接模拟Blender期望的目录结构:
- 先备份Blender原有的
python/bin目录(避免出错无法恢复),随后删除该目录 - 以管理员身份打开命令提示符,执行以下命令:
示例:mklink /D "<Blender安装路径>\python\bin" "<你的虚拟环境路径>\Scripts"mklink /D "C:\Program Files\Blender Foundation\Blender 3.6\python\bin" "C:\my_blender_venv\Scripts" - 完成后,Blender调用
python/bin/python.exe时会实际指向虚拟环境的Python可执行文件,虚拟环境的原有结构和激活脚本不受影响。
方案2:修改虚拟环境的硬编码路径
若不想使用符号链接,可手动修改虚拟环境内的配置文件和脚本:
- 备份Blender原有的
python目录,将虚拟环境的所有内容复制到Blender的python目录下并覆盖原有文件 - 找到虚拟环境根目录下的
pyvenv.cfg文件,修改路径配置:- 将
home字段改为创建虚拟环境时使用的Python安装路径 - 将
include和lib字段改为Blenderpython目录下的对应路径(例如include = ./include、lib = ./lib)
- 将
- 打开
Scripts目录下的activate.bat、activate.ps1等激活脚本,将所有硬编码的旧虚拟环境路径替换为Blender的python目录路径 - 检查虚拟环境内的包链接,确保没有指向旧路径的情况
关键注意事项
- 必须保证虚拟环境的Python版本与Blender自带的Python版本完全一致(包括大版本、小版本和位数),否则会出现兼容性错误
- 操作前务必备份Blender原有的Python目录,防止操作失误导致Blender无法运行
- 符号链接方案更稳定,后续虚拟环境更新或Blender版本升级时,只需重新创建链接即可
内容的提问来源于stack exchange,提问作者Roland Deschain
相关产品推荐
相关产品推荐

