如何使用批处理脚本附加环境Python变量?我想做的就是:
import sys
sys.path.append( 'E:\whatever\locallyScriptFolder' )
但是有批处理文件?我是批量菜鸟。
我需要在Maya中设置Python脚本管道。所有脚本都在我们的Perforce
文件夹中。以下是将.bat
复制到用户本地驱动器的userSetup.py
文件。 Maya启动时执行此userSetup.py
。从我想要从Perforce
文件夹启动脚本的位置,但是此文件夹为每个用户设置了不同的路径(有些路径在E驱动器上,依此类推)。能够获得这些脚本的最佳方法是什么?是否要附加环境变量?
示例:
C:\Users\nameOnUser\Documents\maya\2014-x64\scripts\ **userSetup.py**
X:\RandomPath\Scripts\ **scriptWantToCallFromUserSetup1.py**
X:\RandomPath\Scripts\ **scriptWantToCallFromUserSetup2.py**
答案 0 :(得分:0)
set PYTHONPATH=X:\RandomPath\Scripts
当Python启动时,PYTHONPATH
中的任何内容都会添加到sys.path
。
答案 1 :(得分:0)
@ JohnZwinck的答案应该适用于从批处理文件运行python - 它将设置bat文件生命周期的变量以及由bat文件启动的任何内容。但是它不是永久性的:当完成bat文件运行时,设置将恢复到其原始状态。如果在python中更改sys.path或os.environ,情况也是如此。
也就是说,从您的描述中听起来就像您不需要更改批处理文件中的路径一样,您需要在userSetup.py中更改它。最好的方法是在perforce中添加几行到userSetup.py的主副本,如下所示:
import site
site.addsitedir("x:/path/to/perforce/directory")
# you can add more folders the same way
在此版本中,您的批处理文件只是将userSetup.py复制到用户的Maya目录并运行maya; userSetup.py设置Maya所需的所有路径。这比批处理文件更好,因为(a)批处理文件很蹩脚,(b)如果你使用site module,你可以用.pth files添加许多额外的目录。
关于此主题的更多背景知识: