1
Python, skrypty, pluginy i Blender Game Engine / Odp: Czy mogę zainstalować Pandy (lub inne moduły) w Pythonie Blendera?
« dnia: 27.06.2022 07:49:39 »
Można - trzeba tylko użyć pip. Kod wygląda mniej więcej tak:
import sys
import subprocess
import os
try:
from <package-name> import <function>
except:
python_exe = os.path.join(sys.prefix, 'bin', 'python.exe')
# upgrade pip
subprocess.call([python_exe, "-m", "ensurepip"])
subprocess.call([python_exe, "-m", "pip", "install", "--upgrade", "pip"])
# install required packages
subprocess.call([python_exe, "-m", "pip", "install", "<package-name>"])
Try/except jest dlatego, że musisz zainstalować pakiet tylko raz, w przeciwnym razie Blender będzie się strasznie lagował za każdym razem, gdy go otworzysz. Jeśli pakiet jest już zainstalowany, try po prostu importuje z niego to, czego potrzebujesz. Jeśli nie jest, except wyłapuje go i instaluje. Proces ten jest nieco powolny za pierwszym razem (początkowa instalacja), ale na szczęście po zainstalowaniu nie ma już żadnych opóźnień.
import sys
import subprocess
import os
try:
from <package-name> import <function>
except:
python_exe = os.path.join(sys.prefix, 'bin', 'python.exe')
# upgrade pip
subprocess.call([python_exe, "-m", "ensurepip"])
subprocess.call([python_exe, "-m", "pip", "install", "--upgrade", "pip"])
# install required packages
subprocess.call([python_exe, "-m", "pip", "install", "<package-name>"])
Try/except jest dlatego, że musisz zainstalować pakiet tylko raz, w przeciwnym razie Blender będzie się strasznie lagował za każdym razem, gdy go otworzysz. Jeśli pakiet jest już zainstalowany, try po prostu importuje z niego to, czego potrzebujesz. Jeśli nie jest, except wyłapuje go i instaluje. Proces ten jest nieco powolny za pierwszym razem (początkowa instalacja), ale na szczęście po zainstalowaniu nie ma już żadnych opóźnień.