-
Notifications
You must be signed in to change notification settings - Fork 8
Description
@basilevh Kudos to this awesome repository!
I wanted to create my own dynamic dataset using the data-gen
scripts. These are the steps that I followed so far:
conda create -n gcd python=3.10
conda activate gcd
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
pip install git+https://github.com/OpenAI/CLIP.git
pip install git+https://github.com/Stability-AI/datapipelines.git
pip install -r requirements.txt
pip install bpy==3.4.0 --extra-index-url https://download.blender.org/pypi/
pip install pybullet
pip install OpenEXR
cd data-gen/kubric/
pip install -e .
I run into the following error on the last step:
Collecting absl-py (from tensorflow-datasets>=4.1.0->kubric-secondly==2025.9.5.13.35.10)
Using cached absl_py-0.12.0-py3-none-any.whl.metadata (2.4 kB)
Using cached absl_py-0.10.0-py3-none-any.whl.metadata (2.3 kB)
Using cached absl-py-0.8.1.tar.gz (103 kB)
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [6 lines of output]
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 35, in <module>
File "/tmp/pip-install-xvhn5vdr/absl-py_db293560c9a94d569c544d5fd3fe2c0f/setup.py", line 34, in <module>
raise RuntimeError('Python version 2.7 or 3.4+ is required.')
RuntimeError: Python version 2.7 or 3.4+ is required.
[end of output]
Based on a related SO post, the issue is with absl-py and the only option to fix is to change the python version to 3.9.
However, bpy
has very tight bindings to python versions (build page) and only supports 3.10, 3.11 (both will fail because of absl) and 3.7.
With python3.7, kubric-secondly installation fails because the version requirement and bypassing this check results in tensorflow-datasets
installation breaking other dependencies.
Since absl is installed with tensorflow-datasets
A workaround that I could figure out is commenting it from the requirements file. The issue with this approach or any other workaround is that the renders happen on CPU and not the GPU at all. I get the following error but I'm unsure if its related
KUBRIC_USE_GPU: 1
Traceback (most recent call last):
File "/opt/miniconda3/envs/gcd/lib/python3.10/site-packages/bpy/3.4/scripts/modules/addon_utils.py", line 421, in disable
mod.unregister()
TypeError: '_OpNamespace' object is not callable
Traceback (most recent call last):
File "/opt/miniconda3/envs/gcd/lib/python3.10/site-packages/bpy/3.4/scripts/modules/addon_utils.py", line 421, in disable
mod.unregister()
TypeError: '_ClassNamespace' object is not callable
It would be great if you could share with me the exact python package versions or setup file to replicate your environment and create a similar dataset (with minor modifications). Thanks in advance!