我一直在尝试为 blender 安装 pyserial,但我只能将它安装到我的 C 驱动器上的 python32 上,有什么办法可以将它安装到搅拌机或从 python32 导入搅拌机
5 回答
Blender 有自己的 python 安装和库。您可以尝试直接将软件包安装到搅拌机。我的目录例如:...\Blender 2.63\2.63\scripts\modules
否则,您总是可以直接在代码中硬编码路径sys.path.append("...")
有关安装可用模块的更多信息,请阅读python setup.py install --home=<dir>
对于 Windows,没有特殊权限,并且仅来自 Blender python 脚本:
从搅拌机脚本安装你想要的包(
tqdm
例如下面给出的):import pip pip.main(['install', 'tqdm', '--user'])
从搅拌机控制台观察 pip 在您的配置中实际安装包的路径(
WARNING: The script tqdm.exe is installed in 'C:\Users\<Username>\AppData\Roaming\Python\Python39\Scripts' which is not on PATH
):在搅拌机脚本中,将搅拌机的 pip 安装包的路径添加到
PATH
:import sys packages_path = "C:\\Users\\<Username>\\AppData\\Roaming\\Python\\Python39\\Scripts" + "\\..\\site-packages" sys.path.insert(0, packages_path )
在脚本中成功导入你的包:
import tqdm
更新 1
要在 v2.93 中显示 Blender 终端,请单击Window -> Toggle System Console
更新 2
整个剧本
# 1. launch in blender python interpreter
import pip
pip.main(['install', 'tqdm', '--user'])
# 2. watch blender's python path in console output at this moment
# 3. insert it to packages_path below
# 4. uncomment the next code and launch script in blender interpreter again
# import sys
# packages_path = "C:\\Users\\<Username>\\AppData\\Roaming\\Python\\Python39\\Scripts" + "\\..\\site-packages" # the path you see in console
# sys.path.insert(0, packages_path )
# import tqdm
如果你在 Windows 上,你可以python setup.py install
像往常一样使用 blender 提供的 python 解释器。例如,'c:/Program Files/Blender Foundation/Blender/2.78/python/bin/python.exe' setup.py install
.
在 Linux 上,我认为使用了原生的 python3 解释器,所以没有这种问题。
永久链接您的python(需要3.5及更高版本)并替换blender中的python目录以直接在blender中使用您的系统python ...
你需要以管理员身份运行cmd(使用右键单击该项目)
D:\Blender Foundation\Blender\2.77>mv python python_old
D:\Blender Foundation\Blender\2.77>mklink /j python d:\Anaconda2\envs\py3
Junction created for python <<===>> d:\Anaconda2\envs\py3
经过大量搜索和实验,我找到了这个解决方案:
- 在 Blender 安装中授予 python 文件夹的所有权限
- 下载 get-pip.py 并使用 Blender 的内部 python 可执行文件安装它
- 现在您可以使用内部 pip 安装任何模块: ...\bin>python.exe -m pip install module_name