"Can't find a default python" 当通过 ColdFusion 的 OS.system 方法执行 python 脚本时
"Can't find a default python" When executing python script through OS.system method from ColdFusion
我在名为 optimize.py 的 Windows 服务器上有一个 python 脚本,它使用 os.system() 调用另外三个 python 脚本 4 次方法。
print('Creating input files for optimization algorithm...\n')
os.system("example.py 2 2 0 1")
os.system("example.py 3 3 0 1")
os.system("example.py 4 4 0 1")
os.system("example.py -1 10 0 1")
当我自己执行 optimize.py 时,这非常有效。但是,当它从同一台服务器上 运行 的 ColdFusion 应用程序执行时,每次它尝试调用 example.py 时,我都会收到错误“找不到默认值 Python” .脚本的其余部分运行得很好。
这是执行 python 脚本的 ColdFusion 代码:
<cf_exec cmd="cmd.exe">
cd C:\xxx_Optimization\
"C:\Program Files\Microsoft SQL Server\Client SDK\ODBC0\Tools\Binn\bcp.exe" [SQL_Table] out [directory] -c -t, -U [user] -P [password] -S [server]
cd C:\xxx_Optimization\pyOptimization\
python C:\xxx_Optimization\pyOptimization\optimize.py
<cfoutput>#pyUniqueZipCommand#</cfoutput>
date /t > pyDone.txt
</cf_exec>
我已经将 python 添加到 PATH,我也按照 中的答案进行了操作,但无济于事。谁能告诉我我在这里做错了什么,或者建议替代 os.system 来执行这些脚本?
编辑:我也尝试在 OS.system 方法中指定整个文件路径,但我收到了同样的错误。
如果仅在尝试从初始 python 脚本中调用更多 python 脚本时才返回 Can't find a default Python
错误 - 即如果您的 ftype
和 PATH
已知设置是好的 - 那么问题出在新的上下文中,尝试:
os.system(sys.executable + "example.py 2 2 0 1")
或
os.system("python example.py 2 2 0 1")
我在名为 optimize.py 的 Windows 服务器上有一个 python 脚本,它使用 os.system() 调用另外三个 python 脚本 4 次方法。
print('Creating input files for optimization algorithm...\n')
os.system("example.py 2 2 0 1")
os.system("example.py 3 3 0 1")
os.system("example.py 4 4 0 1")
os.system("example.py -1 10 0 1")
当我自己执行 optimize.py 时,这非常有效。但是,当它从同一台服务器上 运行 的 ColdFusion 应用程序执行时,每次它尝试调用 example.py 时,我都会收到错误“找不到默认值 Python” .脚本的其余部分运行得很好。
这是执行 python 脚本的 ColdFusion 代码:
<cf_exec cmd="cmd.exe">
cd C:\xxx_Optimization\
"C:\Program Files\Microsoft SQL Server\Client SDK\ODBC0\Tools\Binn\bcp.exe" [SQL_Table] out [directory] -c -t, -U [user] -P [password] -S [server]
cd C:\xxx_Optimization\pyOptimization\
python C:\xxx_Optimization\pyOptimization\optimize.py
<cfoutput>#pyUniqueZipCommand#</cfoutput>
date /t > pyDone.txt
</cf_exec>
我已经将 python 添加到 PATH,我也按照
编辑:我也尝试在 OS.system 方法中指定整个文件路径,但我收到了同样的错误。
如果仅在尝试从初始 python 脚本中调用更多 python 脚本时才返回 Can't find a default Python
错误 - 即如果您的 ftype
和 PATH
已知设置是好的 - 那么问题出在新的上下文中,尝试:
os.system(sys.executable + "example.py 2 2 0 1")
或
os.system("python example.py 2 2 0 1")