Hello,
I am not able to import Draft and third-party python modules into my job script.
All my tests are done on Windows10.
The script is located here and launched from the right-click menu in Deadline Monitor :
<DeadlineRepository>\custom\scripts\Jobs\myscript.py
I first encountered the issue when trying to import Pillow.
Notes:
- importing modules from the standard library works fine
- importing
Deadline.Scripting
,DeadlineUI
,System
,System.IO
, etc. works fine tpp
To install the Pillow module I did as suggested here:
https://docs.thinkboxsoftware.com/products/deadline/10.0/1_User%20Manual/manual/repository-config.html#python-settings
- used a pre-built wheel from https://www.lfd.uci.edu/~gohlke/pythonlibs/#pillow
- installed the wheel using a local python-org installation (C:\python27) with the following command:
pip install Pillow-5.4.1-cp27-cp27m-win_amd64.whl -t \\nas1\FARM\<DeadlineRepository>\_custom_python_modules\site-packages\
- added the target path into “Configure Repository Options > Python Settings > Additional Python search paths” (using the “Add Path” button, not by copy-pasting the path)
- restarted the Deadline Monitor
I then tried to import using the following calls and I’m getting the following tracebacks in Deadline Monitor’s Console panel:
from PIL import Image
PythonNetException: ImportError : cannot import name Image
import PIL.Image
PythonNetException: ImportError : DLL load failed: Le module sp\xe9cifi\xe9 est introuvable.
- import PIL works but any submodule after that doesn’t:
import PIL
print(PIL.Image)
Traceback (most recent call last):
File "c:\FranticRegressions\DL_Main\git_git.thinkbox.corp.amazon.com_deadline_deadline\DeadlineProject\DeadlineUI\Commands\ScriptCommands.py", line 104, in InnerExecute
PythonNetException: AttributeError : 'module' object has no attribute 'Image'
File "//nas1/FARM/DEADLINE\custom\scripts\Jobs\myscript.py", line 59, in <module>
print(PIL.Image)
So I tried something I thought would be simpler i.e. importing Draft, but no success here either.
#Python.NET
import sys
print("sys.version => " + sys.version)
print("sys.prefix => " + sys.prefix)
print("sys.executable => " + sys.executable)
print("\nsys.path =>")
print('\n'.join(sys.path))
# Apparently not necessary for a job script but I tried anyway
import os
os.environ["PYTHONPATH"] = r"\\Nas1\farm\DEADLINE\draft\Windows\64bit"
os.environ["MAGICK_CONFIGURE_PATH"] = r"\\Nas1\farm\DEADLINE\draft\Windows\64bit"
import Draft
print(Draft)
Here’s the traceback:
PYTHON: sys.version => 2.7.11 (default, Apr 1 2016, 12:10:08) [MSC v.1600 64 bit (AMD64)]
PYTHON: sys.prefix => C:\Program Files\Thinkbox\Deadline10\bin
PYTHON: sys.executable => C:\Program Files\Thinkbox\Deadline10\bin\deadlinemonitor.exe
PYTHON: sys.path =>
PYTHON: C:\Users\%USERNAME%\AppData\Local\Thinkbox\Deadline10\pythonAPIs\2018-07-30T135037.4650287Z
PYTHON: C:\Program Files\Thinkbox\Deadline10\bin
PYTHON: C:\Program Files\Thinkbox\Deadline10\bin\UI
PYTHON: C:\Program Files\Thinkbox\Deadline10\bin\lib
PYTHON: C:\Program Files\Thinkbox\Deadline10\bin\lib\site-packages
PYTHON: C:\Program Files\Thinkbox\Deadline10\bin\python27.zip
PYTHON: C:\Program Files\Thinkbox\Deadline10\bin\DLLs
PYTHON: C:\Program Files\Thinkbox\Deadline10\bin\lib\plat-win
PYTHON: C:\Program Files\Thinkbox\Deadline10\bin\lib\lib-tk
PYTHON: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
Traceback (most recent call last):
File "c:\FranticRegressions\DL_Main\git_git.thinkbox.corp.amazon.com_deadline_deadline\DeadlineProject\DeadlineUI\Commands\ScriptCommands.py", line 104, in InnerExecute
PythonNetException: ImportError : DLL load failed: Le module sp\xe9cifi\xe9 est introuvable.
File "//nas1/FARM/DEADLINE\custom\scripts\Jobs\myscript.py", line 15, in <module>
import Draft
Any idea?
Thanks