$ pip3 install bpy Defaulting to user installation because normal site-packages is not writeable ERROR: Could not find a version that satisfies the requirement bpy (from versions: none) ERROR: No matching distribution found for bpy
$ pip install bpy==3.6.0 --extra-index-url https://download.blender.org/pypi/ Defaulting to user installation because normal site-packages is not writeable Looking in indexes: https://pypi.org/simple,https://download.blender.org/pypi/ Collecting bpy==3.6.0 Downloading bpy-3.6.0-cp310-cp310-manylinux_2_28_x86_64.whl (371.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 371.4/371.4 MB 10.2 MB/s 0:00:36 Collecting cython (from bpy==3.6.0) Downloading cython-3.2.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (4.2 kB) Requirement already satisfied: numpy in /usr/lib/python3/dist-packages (from bpy==3.6.0) (1.21.5) Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from bpy==3.6.0) (2.25.1) Collecting zstandard (from bpy==3.6.0) Downloading zstandard-0.25.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (3.3 kB) Downloading cython-3.2.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5/3.5 MB 9.6 MB/s 0:00:00 Downloading zstandard-0.25.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (5.6 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.6/5.6 MB 10.0 MB/s 0:00:00 Installing collected packages: zstandard, cython, bpy ━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━━━━━━━━━━━ 1/3 [cython] WARNING: The scripts cygdb, cython and cythonize are installed in '/home/minimonk/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed bpy-3.6.0 cython-3.2.8 zstandard-0.25.0
for i, loc in enumerate(camera_locations): camera.location = mathutils.Vector(loc) # Blender 2.80+ bpy.context.view_layer.update() scene.render.filepath = f"frame_{i:03d}.png" bpy.ops.render.render(write_still=True) print(f"Render {i} complete")
EGL Error (0x3009): EGL_BAD_MATCH: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). EGL Error (0x3009): EGL_BAD_MATCH: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). EGL Error (0x3009): EGL_BAD_MATCH: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). EGL Error (0x3009): EGL_BAD_MATCH: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). EGL Error (0x3009): EGL_BAD_MATCH: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). EGL Error (0x3009): EGL_BAD_MATCH: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). EGL Error (0x3009): EGL_BAD_MATCH: Arguments are inconsistent (for example, a valid context requires buffers not supplied by a valid surface). Fra:1 Mem:42.72M (Peak 43.80M) | Time:00:00.17 | Syncing Cube Fra:1 Mem:42.75M (Peak 43.80M) | Time:00:00.25 | Syncing Light Fra:1 Mem:42.75M (Peak 43.80M) | Time:00:00.25 | Syncing Camera Fra:1 Mem:42.75M (Peak 43.80M) | Time:00:00.27 | Rendering 1 / 64 samples Fra:1 Mem:42.75M (Peak 43.80M) | Time:00:01.50 | Rendering 26 / 64 samples Fra:1 Mem:42.75M (Peak 43.80M) | Time:00:02.48 | Rendering 51 / 64 samples Fra:1 Mem:42.75M (Peak 43.80M) | Time:00:03.02 | Rendering 64 / 64 samples Saved: 'frame_000.png' Time: 00:03.44 (Saving: 00:00.31)