如何解决“找不到默认的python”通过ColdFusion的OS.system方法执行python脚本时
我在 Windows 服务器上有一个名为 optimize.py 的 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\ODBC\170\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 中,并且我也遵循了 this post 中的答案,但无济于事。谁能告诉我我在这里做错了什么,或者建议替代 os.system 来执行这些脚本?
编辑:我也试过在 OS.system 方法中指定整个文件路径,但我收到了同样的错误。
解决方法
如果 Can't find a default Python
错误仅在尝试从初始 Python 脚本中调用更多 Python 脚本时返回 - 即如果您的 ftype
和 PATH
设置已知良好 -那么问题在于新的上下文,请尝试:
os.system(sys.executable + "example.py 2 2 0 1")
或
os.system("python example.py 2 2 0 1")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。