I would strongly suggest you avoid trying to use aliases, since they are A)
platform-specific, and B) externally malleable (i.e. they can change without
your code knowing). Assuming you don't have any kind of a package management
solution for your shell environment, what I would do instead is just pick an RV
executable path in your code based on the current platform. An even cleaner
approach would be to have the correct RV directory on the PATH already (via
init scripts/site environment variable management or something), and just pick
a non-absolute executable in your code.
-Nathan
From: Matthew Doll
Sent: Wednesday, November 19, 2014 6:37 PM
To: Nuke Python discussion
Subject: [Nuke-python] Popen won't recognize system aliases?
Hiya folks, I have aliased RV to "rv" in OSX
in .bash_profile -> alias rv='/Applications/RV64.app/Contents/MacOS/RV64'
But trying to launch RV from Nuke script editor will not work if I try to use
the alias. E.g. this works:
def rvFinalCheck(nodelist):
cmd = ['/Applications/RV64.app/Contents/MacOS/RV64']
for node in nodelist:
cmd.append(node['file'].value())
cmd.append('-over')
ocmd = ' '.join(cmd)
subprocess.Popen(ocmd, shell=True)
But this does not:
def rvFinalCheck(nodelist):
cmd = ['rv']
for node in nodelist:
cmd.append(node['file'].value())
cmd.append('-over')
ocmd = ' '.join(cmd)
subprocess.Popen(ocmd, shell=True)
For this second example, running the command generated from "print ocmd" in a
terminal works, but Nuke throws this error:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "<string>", line 7, in rvFinalCheck
File
"/Applications/Nuke8.0v6/Nuke8.0v6.app/Contents/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py",
line 679, in __init__
errread, errwrite)
File
"/Applications/Nuke8.0v6/Nuke8.0v6.app/Contents/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py",
line 1249, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
I'd prefer to use the alias for forward-thinking purposes. This has worked just
fine in Windows but on OSX I'm stymied. Anyone can tell me what I'm missing?
Cheers,
Matt
--------------------------------------------------------------------------------
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python