scratch_blocks项目在windows下无法编译的坑

scratch_blocks 在windows下运行build.py会出现以下报错信息:问题在于windows下调用shell命令时加入的参数太长,而win执行shell命令有长度限制。scratch_blocks项目在windows下无法编译的坑_第1张图片

具体解决方案为注释掉

# 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),大概如下:

scratch_blocks项目在windows下无法编译的坑_第2张图片

此错误解决方案也比较简单,把代码缩进改一下就好了,上面一行代码空几个空格,这几行代码就空几个空格,python是以代码缩进来区分代码块的,一点缩进问题都会出现这个报错,正确的修改后的样子应该是:

scratch_blocks项目在windows下无法编译的坑_第3张图片

然后运行build.py,就可以在win下面编译了,如果修改后还遇到什么问题,可以在评论区提出,如果编译成功,麻烦给个赞,谢谢!

你可能感兴趣的:(scratch)