Python Wheels#
Python wheels (*.whl
) sú štandardným spôsobom distribúcie modulov Pythonu. Sú podporované v Blenderi na vytvorenie samostatných Python rozšírení.
Odkazy návodov#
Podľa konvencie sa súbory vždy nachádzajú v priečinku
./wheels/
.
Požiadavky#
Wheels musia byť pribalené v nezmenenej podobe z Indexu balíkov Pythonu.
Wheels musia obsahovať svoje závislosti.
Názvy súborov Wheels musia zodpovedať špecifikácii binárnej distribúcie Pythonu: viď dokumenty. Wheels stiahnuté z indexu balíkov Pythonu sa budú riadiť touto konvenciou.
Pri ich uvádzaní v zozname manifestu použite ako oddeľovače ciest lomky.
Ako na balíky Wheels#
Python wheels (*.whl
) možno spájať použitím nasledujúcich krokov.
- Sťahovanie Wheels
Stiahnite Wheels do priečinka
./wheels/
.Pre Wheels, ktoré sú nezávislé od platformy, tento príklad stiahne
jsmin
:pip wheel jsmin -w ./wheels
V prípade Wheels, ktoré obsahujú binárne skompilované súbory, by mali byť zahrnuté Wheels pre všetky podporované platformy:
Tento príklad stiahne
pillow
- populárny modul na manipuláciu s obrázkami.pip download pillow --dest ./wheels --only-binary=:all: --python-version=3.11 --platform=macosx_11_0_arm64 pip download pillow --dest ./wheels --only-binary=:all: --python-version=3.11 --platform=manylinux_2_28_x86_64 pip download pillow --dest ./wheels --only-binary=:all: --python-version=3.11 --platform=win_amd64
Dostupné identifikátory platforiem sú uvedené na stránke pillow na stiahnutie.
- Aktualizácia manifestu
V súbore
blender_manifest.toml
uveďte Wheels ako zoznam ciest, napr.wheels = [ "./wheels/pillow-10.3.0-cp311-cp311-macosx_11_0_arm64.whl", "./wheels/pillow-10.3.0-cp311-cp311-manylinux_2_28_x86_64.whl", "./wheels/pillow-10.3.0-cp311-cp311-win_amd64.whl", ]
Pri inštalácii balíka sa kolo rozbalí do vlastného priečinka rozšírenia
site-packages
.- Spustenie
Po nainštalovaní rozšírenia môžete skontrolovať, či je modul načítaný, tak, že ho importujete v konzole Pythonu a vypíšete jeho umiestnenie:
import PIL print(PIL.__file__)
Zostavenia platforiem#
Vheels môžu výrazne ovplyvniť veľkosť rozšírenia. Na zmiernenie tohto problému je možné vytvoriť rôzne súbory zip rozšírenia pre každú jedinečnú požadovanú platformu.
Na tento účel musíte použiť možnosť --split-platforms
z príkazu build.
blender --command extension build --split-platforms
Napríklad#
Výňatok zo súboru manifestu:
id = "my_addon_with_wheels"
version = "1.0.0"
platforms = ["windows-x64", "macos-x64"]
wheels = [
"./wheels/pillow-10.3.0-cp311-cp311-macosx_11_0_arm64.whl",
"./wheels/pillow-10.3.0-cp311-cp311-manylinux_2_28_x86_64.whl",
"./wheels/pillow-10.3.0-cp311-cp311-win_amd64.whl",
]
Vygenerované súbory z --split-platforms
:
my_addon_with_wheels-1.0.0-windows_x64.zip
my_addon_with_wheels-1.0.0-macos_x64.zip
Poznámka
Aj keď je prítomné Wheel len pre Linux, nevytvorí sa žiadny súbor zip pre Linux. Stáva sa to preto, lebo v poli platforms
sú uvedené iba počítače Mac a Windows.