I’ve started noticing that some of our python scripts are completely failing on Deadline 5.1. (We migrated from Deadline 4.1, so dont know which version this was introduced)
- For some reason it seems that scripts running inside of Nuke at times are now loading libraries from “C:\Program Files\Thinkbox\Deadline\python\2.6.7”
0: STDOUT: File "C:/Program Files/Nuke6/plugins/nukescripts/3rdparty_scripts/archivescript\fileSequence\logger.py", line 5, in <module>
0: STDOUT: import logging, logging.config
0: STDOUT: File "C:\Program Files\Thinkbox\Deadline\python\2.6.7\x64\lib\logging\config.py", line 30, in <module>
0: STDOUT: import sys, logging, logging.handlers, string, socket, struct, os, traceback, types
0: STDOUT: File "C:\Program Files\Thinkbox\Deadline\python\2.6.7\x64\lib\logging\handlers.py", line 27, in <module>
0: STDOUT: import logging, socket, types, os, string, cPickle, struct, time, re
0: STDOUT: File "C:\Program Files\Thinkbox\Deadline\python\2.6.7\x64\lib\socket.py", line 46, in <module>
0: STDOUT: import _socket
0: STDOUT: ImportError: DLL load failed: The specified module could not be found.
- Same thing is happening with Command script jobs, where a job is submitted to do something like, C:\python\python25_x64\python.exe “\Storage\Pipeline_synch\SequenceArchiver.py”
0: INFO: Startup Directory: "\\Storage\Pipeline_synch\"
0: INFO: Process Priority: BelowNormal
0: INFO: Process is now running
0: STDOUT: C:\Program Files\Thinkbox\Deadline\python\2.6.7\x64\lib\site.py:150: Warning: 'with' will become a reserved keyword in Python 2.6
0: STDOUT: 'import site' failed; use -v for traceback
0: STDOUT: Traceback (most recent call last):
0: STDOUT: File "\\Storage\Pipeline_synch\SequenceArchiver.py", line 3, in <module>
0: STDOUT: import os, sys
0: STDOUT: File "C:\Program Files\Thinkbox\Deadline\python\2.6.7\x64\lib\os.py", line 758
0: STDOUT: bs = b""
0: STDOUT: ^
0: STDOUT: SyntaxError: invalid syntax
0: INFO: Process exit code: 1
Cheers
Which alpha version are you running? We stopped touching the PYTHONPATH env var in alpha 4, and that was the the reason other python scripts were getting screwed up. Note that we only changed the environment for the Deadline process, not the system, so you don’t have to go and change anything back.
If you are already running alpha 4, and you upgraded from a previous alpha, you need to restart all the Deadline applications including the launcher. It might even be easier to restart the machine. This is because during the auto upgrade process, the environment would have been maintained as one app starts another. So the alpha 4 apps would inherit the environment of the alpha 3 apps, including the modified PYTHONPATH.
Cheers,
Yeah, we were using alpha 3. Systems here have now pushed out alpha 4 to all machines and rebooted them.
The slaves now report to be running 5.1.0.44896R in the slave list in the monitor. (so does the launcer if I VNC into a machine) However its still generating the same error as earlier. Also, it seems that doing this update made the plugin config settings go back to default values, maybe that is intended?
0: INFO: StartJob: initializing script plugin CommandScript
0: INFO: About: Command Script support for Deadline
0: Plugin rendering frame(s): 0
0: INFO: Checking line:C:\python\python25_x64\python.exe "\\Storage\Pipeline_synch\SequenceArchiver.py"
0: INFO: Executable found: C:\python\python25_x64\python.exe
0: INFO: Arguments found: "\\Storage\Pipeline_synch\SequenceArchiver.py"
0: INFO: Stdout Handling Enabled: False
0: INFO: Popup Handling Enabled: False
0: INFO: Using Process Tree: True
0: INFO: Hiding DOS Window: True
0: INFO: Creating New Console: False
0: INFO: Render Executable: "C:\python\python25_x64\python.exe"
0: INFO: Render Argument: "\\Storage\Pipeline_synch\SequenceArchiver.py"
0: INFO: Startup Directory: "\\Storage\Pipeline_synch\"
0: INFO: Process Priority: BelowNormal
0: INFO: Process is now running
0: STDOUT: C:\Program Files\Thinkbox\Deadline\python\2.6.7\x64\lib\site.py:150: Warning: 'with' will become a reserved keyword in Python 2.6
0: STDOUT: 'import site' failed; use -v for traceback
0: STDOUT: Traceback (most recent call last):
0: STDOUT: File "\\Storage\Pipeline_synch\SequenceArchiver.py", line 3, in <module>
0: STDOUT: import os, sys
0: STDOUT: File "C:\Program Files\Thinkbox\Deadline\python\2.6.7\x64\lib\os.py", line 758
0: STDOUT: bs = b""
0: STDOUT: ^
0: STDOUT: SyntaxError: invalid syntax
0: INFO: Process exit code: 1
Strange. Do you still get the errors with Nuke jobs too?
Can you add the following to the top of the script you’re trying to run to see what the path looks like:
import sys
for pythonPath in sys.path:
print pythonPath
Then try running the script from a command prompt, and then from Deadline, so that we can compare the difference.
Thanks!
When I tried this morning it worked fine except on a few slaves and when those were restarted they were fine too, so seems like the slave machines wasnt restarted properly after the update yesterday…
Sorry about that
Thanks Ryan!
Phew!
Glad to hear everything is working as it should!