Solvedscratch blocks error during executing build.py

Expected Behavior

All the modules should successfully executed.

Actual Behavior

error during running python file
#python build.py
Traceback (most recent call last):
File "build.py", line 598, in
test_proc = subprocess.Popen(test_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
File "/usr/lib/python2.7/subprocess.py", line 710, in init
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory

Operating System and Browser

Ubuntu 15.10 & Mozilla Firefox Browser

29 Answers

✔️Accepted Answer

For anyone interested I have a workaround to this problem. Simply modify build.py in a text editor and add OSError to the handled exception list. The build should now succeed using the online closure compiler.

603: except (**OSError**, ImportError, AssertionError):

The puzzling thing about the build script is that it tries to execute "google-closure-compiler" in the build directory which would require some work to setup. The advanced compiler steps outlined in the blockly docs here didn't resolve this problem so maybe something got lost in translation.

Anyways, assuming you have correctly installed the required deps (python27 + java) then you can comment out the dubious check on lines 598-601 of build.py and you should be alright for a local build.

598:    # test_args = [closure_compiler, os.path.join("build", "test_input.js")]
598:    # test_proc = subprocess.Popen(test_args, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
598:    # (stdout, _) = test_proc.communicate()
598:    # assert stdout == read(os.path.join("build", "test_expect.js"))

Other Answers:

in windows 10,change all "google-closure-compiler" to "google-closure-compiler.cmd"
that will solve it,but have other problem,
the cmd args is too long.(命令行太长)