Describe the problem
The tile merge step in tile_merge.py currently auto-installs Pillow and OpenEXR via pip
into a temp directory (deadline_pip_packages) at runtime on the farm worker. This was
necessary because V-Ray is installed via host config script rather than Conda, so Conda
packages cannot be relied upon for merge step dependencies.
This approach works but has downsides:
- Unexpected pip install at render time may surprise studio pipeline teams
- Requires internet access on farm workers
- Bypasses studio-managed package environments
Proposed Solution
Add an optional checkbox in the V-Ray tab: "Auto-install merge dependencies (Pillow/OpenEXR)".
- If checked (default): current behavior — pip installs to temp dir if packages not found
- If unchecked: skip auto-install, use whatever is on the system. Fail with a clear error
if Pillow/OpenEXR are not available.
This gives studios control over their package environment while keeping the current
behavior as the default for ease of use.
Example Use Cases
- Studio has Pillow/OpenEXR pre-installed on all farm workers via their own pipeline
setup — they want to disable auto-install to avoid unexpected network calls
- Farm workers have no internet access — auto-install would fail silently,
explicit error is better
- Studio uses Conda and wants to manage all dependencies through their environment
Related
Describe the problem
The tile merge step in
tile_merge.pycurrently auto-installs Pillow and OpenEXR via pipinto a temp directory (
deadline_pip_packages) at runtime on the farm worker. This wasnecessary because V-Ray is installed via host config script rather than Conda, so Conda
packages cannot be relied upon for merge step dependencies.
This approach works but has downsides:
Proposed Solution
Add an optional checkbox in the V-Ray tab: "Auto-install merge dependencies (Pillow/OpenEXR)".
if Pillow/OpenEXR are not available.
This gives studios control over their package environment while keeping the current
behavior as the default for ease of use.
Example Use Cases
setup — they want to disable auto-install to avoid unexpected network calls
explicit error is better
Related