Posted September 27, 2025 by Fawkek
A quick guide for installing Pillow, NumPy, and other Python packages for the Steam version of Blender on macOS and Windows.
Use your system’s terminal to run the commands below. Replace USERNAME
and the Blender version numbers (4.3
, 4.5
, etc.) with the ones you have installed.
4.x
part of the path accordingly.steamapps/common/Blender
location.Steam ships Blender with its own embedded Python inside the app bundle:
~/Library/Application Support/Steam/steamapps/common/Blender/Blender.app/Contents/Resources/4.x/python/bin/python3.x
Where to run: in the Terminal. Replace USERNAME
and version numbers to match your system.
"/Users/USERNAME/Library/Application Support/Steam/steamapps/common/Blender/Blender.app/Contents/Resources/4.5/python/bin/python3.11" \
-m pip install --upgrade Pillow \
--target "/Users/USERNAME/Library/Application Support/Blender/4.5/scripts/modules"
"/Users/USERNAME/Library/Application Support/Steam/steamapps/common/Blender/Blender.app/Contents/Resources/4.5/python/bin/python3.11" \
-m pip install --upgrade pip
Packages installed with --target
will be placed in scripts/modules
, which Blender automatically loads for add-ons.
The embedded Python lives here:
C:\Program Files (x86)\Steam\steamapps\common\Blender\4.x\python\bin\python.exe
Where to run: in PowerShell. If Blender is installed to a non-default Steam library, update the path accordingly.
"C:\Program Files (x86)\Steam\steamapps\common\Blender\4.3\python\bin\python.exe" `
-m pip install --upgrade Pillow `
--target "C:\Users\USERNAME\AppData\Roaming\Blender Foundation\Blender\4.3\scripts\modules"
"C:\Program Files (x86)\Steam\steamapps\common\Blender\4.3\python\bin\python.exe" `
-m pip install --upgrade pip
If needed, you can add your user site-packages folder manually to sys.path
inside your add-on (__init__.py
):
import sys, os
site_local = os.path.expanduser("~/.local/lib/python3.11/site-packages")
if site_local not in sys.path:
sys.path.append(site_local)
import sys
sys.path.append(r"C:\Users\USERNAME\AppData\Roaming\Python\Python311\site-packages")
import sys
import PIL
print("Pillow:", PIL.__version__)
print("In path:", any("scripts/modules" in p for p in sys.path))
scripts/modules
, your add-ons will be able to use the package.xattr -dr com.apple.quarantine "$HOME/Library/Application Support/Steam/steamapps/common/Blender/Blender.app"
~/.local/lib/python3.11/site-packages
). Reinstall with --target
to .../Blender/4.x/scripts/modules
.4.3
vs 4.5
), and that Python minor version (e.g., python3.11
) matches what your Blender ships.Program Files (x86)
or ~/Library/Application Support/Steam
, point the path to your actual steamapps/common/Blender
folder.--target scripts/modules
so Blender always finds your packages..app
bundle under .../Blender.app/Contents/Resources/.../python/bin
.steamapps\common\Blender\4.x\python\bin
.sys.path
in the add-on.