Subprocess.py 错误

0 投票
1 回答
739 浏览
提问于 2025-04-17 09:33

我想把游戏编译成安卓应用,但是...

我在使用Subprocess.py的时候遇到了问题。

我收到了以下错误信息:

File "D:\Documents and Settings\Kiraler\Pulpit\renpy-apk-6.13.7.1\build.py", line 321, in <module> 
make_package<args>
File D:\Documents and Settings\Kiraler\Pulpit\renpy-apk-6.13.7.1\build.py", line 201, in make_package 
subprocess.call<[ANDROID, "update", "project", "-p", '.', '-t', android-8]

File "D:\Python27\lib\subprocess.py", line 493, in call
return Popen<*popenargs, **kwargs>.wait<> 

File "D:\Python27\lib\subprocess.py", line 679, in __init__
errread, errwrite>

File "D:\Python27\lib\subprocess.py", line 893, in _execute_child
startupinfo>

WindowsError: [Error 2] The system cannot find the file specified

模块:

# Update the project to a recent version.
subprocess.call([ANDROID, "update", "project", "-p", '.', '-t', 'android-8'])

shutil.rmtree("assets")

if args.assets:
    shutil.copytree(args.assets, "assets")

else:
    os.mkdir("assets")

if renpy:
    shutil.copytree("engine-assets/common", "assets/common")

有人能帮我吗?

1 个回答

0

我觉得问题在于代码中的 ANDROID 变量并不是你想用的程序的完整路径。

所以,建议使用 shell=True 的评论是合适的,只要你的 PATH 环境变量配置正确,这样 ANDROID 就能被找到。

如果不是这样,你可以:

  • ANDROID 变量中提供完整路径
  • 在调用 subprocess.Popen 时使用 env 参数,给子进程提供你自己定制的 PATH 环境变量。想了解更多信息,可以查看文档

撰写回答