平台:Windows 7的
的Python:2.7.3添加了一条新路PTYHONPATH和使用它的程序是做什么用NSIS
StrCpy $NETWORK_PATH "\\someserver\network\path\here"
DetailPrint "$\n"
DetailPrint "Setting up paths required"
Push "SETX PYTHONPATH $NETWORK_PATH;$NETWORK_PATH\lib"
Call Execute
Push '"C:\Python27\python.exe" setup.py deploy'
Call Execute
Function Execute
Exch $0
# execution of the command and return success or failure
FunctionEnd
这上面被编译为NSIS安装和在多台机器上运行。
问题 "C:\Python27\python.exe" setup.py deploy
依赖于该$ NETWORK_PATH成功执行。
第一次运行它时,$ NETWORK_PATH被追加到PYTHONPATH环境变量中,但"C:\Python27\python.exe" setup.py deploy
失败,因为新的PYTHONPATH仅在新的命令提示符或下次运行时才有效。
有没有办法让附加的PYTHONPATH在同一个运行中有效?
目前,我们正在运行两次 - 一次用于设置PYTHONPATH并接受失败,第二次运行成功。
我们尝试的另一种替代方法是 - 我们制作了2个可执行文件,一个用于设置PYTHONPATH,另一个用于Python脚本运行。然后我们把它们放在批处理脚本中运行。
但我的首选是在一个文件和一次运行中实现这一切。
你试图导入SYS和修改的sys.path? –
@KennyOstrom我们最初在python脚本中使用了sys.path,当我们的服务器出现DNS问题时,这样做会遇到问题。因此,我们制作了安装程序,以便我们可以快速更改到IP的网络路径并准备好安装程序。对于我们来说,编辑所有机器上的python脚本成为了开销任务。 :( –
我不明白它们之间的区别,唯一的系统特定的变化是在不同系统上的env中设置NETWORK_PATH,并且你已经这样做了。 –