From: Greg Ercolano <erco@(email surpressed)>
Subject: Re: Python Simple Script Questions
   Date: Tue, 25 Mar 2008 15:08:00 -0400
Msg# 1713
View Complete Thread (2 articles) | All Threads
Last Next
Yanko Sanchez wrote:
> The error says it cannot find the file specified, is it talking about 
> finding the scene? or it can't find python to run the script?

	It's saying it can't find the python executable.

	Sounds like python isn't installed on the render nodes,
	but would need to be.

	You probably have 'perl' on all the machines because your sysadmin
	installed it as part of the rush install process.

> Does python have to be installed on all the machines in the render farm?

	Yes ;)

	When you submit a job that is a python script, each render node
	is going to run it, so the python interpreter must be installed
	on all render nodes for it to do that.

> In the Perl Submit Script there is a section under "Rush" that says
> "Submit Hosts" where we always specify a hostname, how would I add
> this to the python simple script.

	It would be the optional [hostname] argument in the
	'rush -submit [hostname]' command, e.g.

submithost = "somehost"
submit = os.popen("rush -submit" + " " + submithost, 'w')
[..]

> This is my error log:
> 
> ###
> ### shatner64.140: 0001
> ###
> --------------- Rush 102.42a4 --------------
> --      Host: render15
> --       Pid: 1944
> --     Title: YankoPythonText
> --     Jobid: shatner64.140
> --     Frame: 0001
> --     Tries: 0
> --     Owner: yanko (100/100)
> -- RunningAs: render
> --  Priority: 500
> --      Nice: 10
> --    Tmpdir: C:/TEMP/.RUSH_TMP.1621
> --   LogFile: //cain/x1/home/yanko/test/scenes/test2.ma.log/0001
> --   Command: python \\cain\x1\jobs\rushscripts\python-test.py -render 
> //cain/x1/home/yanko/test/scenes/test2.ma
> --   Started: Tue Mar 25 10:50:26 2008
> ------------------------------------------
> rushd: CreateProcess(python \\cain\x1\jobs\rushscripts\python-test.py -render //cain/x1/home/yanko/test/scenes/test2.ma): The system cannot find the file specified.
>   > Are you sure 'python' is in the System Path? Current path:
>   > PATH=C:\Program Files (x86)\Autodesk\Maya8.5\bin;C:\Program Files\Autodesk\Maya8.5\bin;C:\Perl\bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Intel\DMIX;\\cain\x1\Program_Files\Shake-v2.51.1116;c:\rush\bin
>   > This is a common problem if you installed 'python' recently
>   > but did not restart the rush daemon to pick up the new System Path.

	Right, the error is telling you 'python' is not in the PATH,
	so probably python hasn't been installed on render15.

	Either that, or it was installed, but not installed for all users
	(ie. its PATH setting is not in the "System Environment" which
	is inherited by all users). Or possibly it was installed for all
	users, but the rush daemon wasn't restarted after the install,
	so that the environment changes could propagate to rush. (or
	just reboot the machine)

	For instance, if you walked up to render15, opened a DOS window and typed:

python \\cain\x1\jobs\rushscripts\python-test.py -render //cain/x1/home/yanko/test/scenes/test2.ma

	..you'd probably get a 'Command not found' error from the DOS shell.

	This is pretty much what rush is doing when you submit a job to the farm;
	rush is going to invoke your script on each machine to render each frame
	in the job; the frame to work on is passed to your script via the RUSH_FRAME
	environment variable.

-- 
Greg Ercolano, erco@(email surpressed)
Seriss Corporation
Rush Render Queue, http://seriss.com/rush/
Tel: (Tel# suppressed)
Fax: (Tel# suppressed)
Cel: (Tel# suppressed)

Last Next