添加环境Python变量

时间:2014-10-14 11:17:36

标签: python python-2.7 batch-file path maya

简短问题:

如何使用批处理脚本附加环境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**

2 个答案:

答案 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添加许多额外的目录。

关于此主题的更多背景知识: