在Blender环境下使用 pip 将所需的包安装到 Blender Python

本文介绍了如何在Blender环境中利用Pip安装Python包。由于Blender内置的Python解释器可能缺少某些包,文章提供了一种通过编写脚本获取BlenderPython解释器的python.exe路径,然后升级和安装所需包的方法。步骤包括获取Python可执行文件路径、升级pip到最新版以及安装特定包。执行脚本后,包将被安装到BlenderPython,但需要网络连接和可能的管理员权限。

在blender环境下使用 pip 将所需的包安装到 Blender Python

前言

对于开发加载项,有时需要使用 Blender Python 解释器的核心集中未包含的包。

通常,您需要的依赖项包含在 Python 包索引 (PyPI) 中,并且可以通过 Pip 包管理系统安装到 Blender。

Pip 包管理器已安装在Blender中。但是,Blender 不允许我们使用"pip 安装"命令以通用方式package_name包。

步骤

  1. 启动 Blender,打开"文本编辑器(Scripting)"窗口,然后按"新"按钮(默认快捷键Alt + N)创建新脚本。
  2. 为当前的 Blender Python 解释器获取 python.exe 可执行文件的完整路径。(见代码)
  3. 检查 pip 模块的安装并更新到最新版本,进而可以安装必要的依赖关系。(见代码)
  4. 将所需包安装到 Blender Python。(将代码中package_name换为所需包名,如scipy)
  5. 通过单击"运行脚本"按钮执行脚本后,指定的包将安装到 Blender Python 解释器中。请注意,要正确安装,需要能访问网络。您可能还需要使用管理员权限运行 Blender。

代码

import subprocess
import sys
import os

# 2. path to python.exe
python_exe = os.path.join(sys.prefix,'bin', 'python.exe')
# 3. upgrade pip
subprocess.call([python_exe, "-m", "ensurepip"])
subprocess.call([python_exe, "-m", "pip", "install", "--upgrade", "pip"])
# 4. install required packages
subprocess.call([python_exe, "-m", "pip", "install", "package_name"])
#注:若没有换pip源可将此句改为
#subprocess.call([python_exe, "-m", "pip", "install", "package_name",  "-i", "https://pypi.tuna.tsinghua.edu.cn/simple"])

原文出处

链接:原文

### 在终端使用 Blender Python 环境的完整指南 --- #### **1. 直接调用 BlenderPython 解释器** **方法**:通过绝对路径调用 Blender 内置的 Python ```bash # Linux/macOS /path/to/blender/3.x/python/bin/python3.10 -c "import bpy; print(bpy.data.objects.keys())" # Windows "C:\Program Files\Blender Foundation\Blender 3.x\3.x\python\bin\python.exe" -c "import bpy; print(bpy.data.filepath)" ``` **特点**: - 可执行标准 Python 脚本 - 但无法直接操作 Blender 场景(无 GUI 上下文) --- #### **2. 使用 `--background` 模式运行脚本** ```bash blender --background --python myscript.py ``` **示例脚本 `myscript.py`**: ```python import bpy # 创建一个立方体并保存文件 bpy.ops.mesh.primitive_cube_add(size=2) bpy.ops.wm.save_as_mainfile(filepath="/tmp/output.blend") ``` **参数说明**: - `--background`:无界面模式 - `--python-console`:运行后进入交互式控制台 - `--factory-startup`:跳过用户配置 --- #### **3. 终端交互式控制台** ```bash blender --python-console ``` **操作示例**: ```python >>> import bpy >>> bpy.ops.mesh.primitive_monkey_add() >>> bpy.context.object.name = "Suzanne_Terminal" ``` --- #### **4. 远程调试(PyCharm/VSCode)** **步骤**: 1. 在终端启动 Blender 并等待调试器连接: ```bash blender --python-expr "import debugpy; debugpy.listen(5678); debugpy.wait_for_client()" ``` 2. 在 IDE 中配置远程调试(端口 5678) --- #### **5. 环境变量配置** **永久添加 Blender Python 到 PATH**: ```bash # Linux/macOS echo 'export PATH="/path/to/blender/3.x/python/bin:$PATH"' >> ~/.bashrc # Windows(管理员权限) setx /M PATH "%PATH%;C:\Program Files\Blender Foundation\Blender 3.x\3.x\python\bin" ``` **验证**: ```bash python3.10 -c "import bpy; print(bpy.__version__)" ``` --- #### **6. 第三方工具链** | 工具 | 用途 | 安装方式 | |---------------------|--------------------------|---------------------------| | **blender-launcher**| 快速切换版本 | `pip install blender-launcher` | | **bpypath** | 获取 Blender Python 路径 | `pip install bpypath` | --- #### **典型应用场景** ```mermaid graph TB A[终端命令] --> B[批量渲染] A --> C[资产处理] A --> D[CI/CD自动化] C --> E[自动UV展开] C --> F[材质批量替换] ``` --- #### **注意事项** - **上下文问题**:在终端直接运行 `bpy.ops` 可能失败,需确保上下文: ```python import bpy ctx = bpy.context.copy() ctx['object'] = bpy.data.objects["Cube"] bpy.ops.object.modifier_add(ctx, type='SUBSURF') ``` - **路径差异**: - Windows 需处理反斜杠转义:`r"C:\path\to\blender"` - 用 `bpy.path.abspath("//texture.png")` 处理相对路径
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值