我使用 pip 安装了 beautiful-atoms 但找不到 blender

我使用 pip 安装了 beautiful-atoms 但找不到 blender

有这个不错的python 模块渲染美丽的原子使用Blender 的 Python API

pip我在 Ubuntu 22 LTS 上安装了所有东西,没有问题

>> pip install bpy
>> pip install batoms 

当我尝试简单的例子时:

# from https://beautiful-atoms.readthedocs.io/en/latest/getting_started/python.html
from ase.build import molecule
#from batoms_api import render  # original
from batoms import render       # modified since pip package is called batoms 
atoms = molecule("H2O")
render_input = {"viewport": [1, 1, 0], "engine": "cycles", "output": "h2o.png",}
render(atoms, render_input=render_input)

我收到以下错误:

假设bpypip 有自己的blender安装,我得到:

>>> from ase.build import molecule
>>> from batoms import render
>>> atoms = molecule("H2O")
>>> render_input = {"viewport": [1, 1, 0], "engine": "cycles", "output": "h2o.png",}
>>> render(atoms, render_input=render_input)
sh: 1: blender: not found
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/prokop/.local/lib/python3.10/site-packages/batoms/api/__init__.py", line 21, in render
    raise OSError('Command ' + cmd +
OSError: Command blender -b  -P /home/prokop/.local/lib/python3.10/site-packages/batoms/api/apirun.py failed with error code 32512

当我将 blender 二进制文件链接~/SW/blender-3.4.1-linux-x64/blender到系统 PATH 时,出现此错误:

>>> from batoms import render
>>> render(atoms, render_input=render_input)
Blender 3.4.1 (hash 55485cb379f7 built 2022-12-20 00:46:45)
Error: Python: Traceback (most recent call last):
  File "/home/prokop/.local/lib/python3.10/site-packages/batoms/api/apirun.py", line 1, in <module>
    from batoms.batoms import Batoms
ModuleNotFoundError: No module named 'batoms'

所以我认为我需要的是:

  • 要么告诉我搅拌机的版本batoms在哪里bpy
  • 或安装batoms~/SW/blender-3.4.1-linux-x64/blender
  • 也许我可以blender从 pipbpy模块内部链接二进制文件?但我不知道在哪里可以找到它。

但我没有找到任何例子如何做到这一点

我在文档建议使用 anaconda,但我真的不喜欢 anaconda 每次安装新包时都复制 python 环境的做法。我希望将所有内容都放在一个环境中。

答案1

每个 Blender 版本都捆绑了一个 Python(Blender 3.4 的 Python 版本为 3.10.8)。Blender 只有在正确的 Python 版本下才能正常工作。尽管 Blender 可以通过 使用系统 Python 包--python-use-system-env,但最好不要这样做,以免崩溃。

Beautiful atom 是 Blender 的一个插件。它应该安装在 Blender 的插件文件夹中,并使用 Blender 中捆绑的 Python。但是,beautiful-atoms 的一些高级功能依赖于几个包(例如spglibopenbabel),而这些包无法pip在捆绑的 Python 中正确安装,因此,需要创建一个具有正确版本的 Conda Python 环境来替换捆绑的 Python,然后在此 Conda 环境中安装依赖项。Beautiful-atoms 提供了一个跨平台脚本 install.py 来自动完成安装和默认设置。如果你不想使用 Conda,你可以手动安装它。https://beautiful-atoms.readthedocs.io/en/latest/getting_started/installing/index.html#manual-installation。在这种情况下,像 这样的软件包openbabel将不会被安装,但是 beautiful-atoms 的大部分功能仍然能够运行。

该模块batoms是旧版本,不再有效。该bpy模块也是 Blender 的测试 Python 模块。以下安装不起作用,不建议使用。

pip install bpy
pip install batoms

相关内容