【发布时间】:2014-07-06 05:35:07
【问题描述】:
所以背景是我正在尝试设置一个 Cocos-2dx v3.0 项目。我已经获得了创建要运行的项目的 python 脚本,现在我正在尝试构建和运行该项目,以便我可以开始开发游戏。根据问题,我遇到的问题是 subprocess.call 发出的命令之一在每次运行构建和运行 python 脚本时都会失败。但是,当我自己在 shell 中运行传递给它的确切命令时,它运行得很好。
python中调用subprocess.call的方法:
@staticmethod
def run_cmd(command, verbose):
if verbose:
Logging.debug("running: '%s'\n" % ''.join(command))
else:
log_path = CCPlugin._log_path()
command += ' >"%s" 2>&1' % log_path
print "CALLING run_cmd"
ret = subprocess.call(command, shell=True)
if ret != 0:
message = "Error running command, return code: %s" % str(ret)
if not verbose:
message += ". Check the log file at %s" % log_path
raise CCPluginError(message)
这在脚本中被多次使用,并且每隔一次都会成功。
从python调用时失败但直接输入到cmd时运行正常的命令:
"C:\Users\Patrick\Downloads\apache-ant-1.9.4-bin\apache-ant-1.9.4\bin\ant" clean debug -f C:\HyperFusion\RuneWars\RuneWars\proj.android\build.xml -Dsdk.dir="C:\Users\Patrick\COPAP\Software\adt-bundle-windows-x86-20130522\sdk"
我们将不胜感激。我做了一堆谷歌搜索,但没有遇到任何似乎有帮助的东西。我是 python 新手(真的没想到要调试它,因为这些只是 Cocos 提供的设置脚本)所以如果我在这里遗漏了一些简单的东西,我深表歉意。
操作系统是 Windows 7,如果这对问题有任何影响。
谢谢!
【问题讨论】:
-
失败时给出的错误是什么?
-
具体来说,检查正在写入的日志文件以了解故障的具体情况。
-
我不知道正在写入任何日志文件。错误是“文件名、目录名或卷标语法不正确。”
-
命令运行时'verbose'标志的值是多少?
-
在执行之前尝试打印您的命令。我的直觉是检查你的引号如何显示输出。
标签: python python-2.7 cocos2d-x