scratch_blocks 在windows下运行build.py会出现以下报错信息:问题在于windows下调用shell命令时加入的参数太长,而win执行shell命令有长度限制。
具体解决方案为注释掉
# test_proc = subprocess.Popen(test_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
改为
test_proc = subprocess.Popen(test_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE,shell=True)
注释掉
# proc = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
改为
outfile = open("dash_args.txt","w+")
outfile.write("\n".join(args[11:]))
outfile.close()
args = args[:11]
args.extend(['--flagfile','dash_args.txt'])
proc = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE, shell = True)
鉴于遇到这个坑的人大多数都是搞前端的,对python可能不是太熟悉,有可能遇到python代码缩进的报错(unexpected indent),大概如下:
此错误解决方案也比较简单,把代码缩进改一下就好了,上面一行代码空几个空格,这几行代码就空几个空格,python是以代码缩进来区分代码块的,一点缩进问题都会出现这个报错,正确的修改后的样子应该是:
然后运行build.py,就可以在win下面编译了,如果修改后还遇到什么问题,可以在评论区提出,如果编译成功,麻烦给个赞,谢谢!