[Sugar-devel] Unable to set up the Music Blocks repository
quozl at laptop.org
Mon Sep 28 01:17:10 EDT 2020
Thanks for the report.
You didn't say, but based on your log referencing kernel
5.4.0-48-generic it seems likely you are using Ubuntu 20.04 LTS Focal.
By decision of Ubuntu project, on Ubuntu 20.04 "python" is not a valid
command, by default. "python3" is valid, as is "python2", but
"python" itself is not, unless you install a special-purpose package
python-is-python3. "apt show python-is-python3" says, in part
Description: symlinks /usr/bin/python to python3
In Ubuntu, all python packages use explicit python3 or python2
interpreter and do not use unversioned /usr/bin/python at all. Some
third-party code is now predominantly python3 based, yet may use
This is a convenience package which ships a symlink to point
the /usr/bin/python interpreter at the current default python3. It may
improve compatibility with other modern systems, whilst breaking some
obsolete or 3rd-party software.
No packages may declare dependencies on this package.
In this case, Music Blocks is third-party code.
However, the exact failing command is not from Music Blocks. See line
12 of your Gist. This command is not in Music Blocks repository. As
shown by "git grep http.server".
So my guess is you have installed a version of npm or node that is
incompatible with Ubuntu 20.04's Python policy. We can't fix that.
I was able to reproduce your problem using npm and node from Ubuntu
20.04 package archives, and then fix it by editing packages.json to
use "python3 -m http.server 3000" instead.
On Mon, Sep 28, 2020 at 10:20:26AM +0530, Shrey tripathi wrote:
> I didn't know whom to contact regarding this or where to post this, hence am
> putting this up here.
> I was following the steps to set up Music Blocks on my local system from 
> here. But after I cloned the repository, changed my directory to 'musicblocks',
> and ran 'npm run serve', I get the following error:
> > musicblocks at 3.2.0 serve /home/me/SUGAR/musicblocks
> > python -c "import os, sys; os.system('python -m SimpleHTTPServer 3000
> --bind 127.0.0.1') if sys.version_info.major==2 else os.system('python -m
> http.server 3000 --bind 127.0.0.1');"
> sh: 1: python: not found
> npm ERR! code ELIFECYCLE
> npm ERR! syscall spawn
> npm ERR! file sh
> npm ERR! errno ENOENT
> npm ERR! musicblocks at 3.2.0 serve: `python -c "import os, sys; os.system
> ('python -m SimpleHTTPServer 3000 --bind 127.0.0.1') if
> sys.version_info.major==2 else os.system('python -m http.server 3000 --bind
> npm ERR! spawn ENOENT
> npm ERR!
> npm ERR! Failed at the musicblocks at 3.2.0 serve script.
> npm ERR! This is probably not a problem with npm. There is likely
> additional logging output above.
> npm ERR! A complete log of this run can be found in:
> npm ERR! /home/me/.npm/_logs/2020-09-28T04_33_00_096Z-debug.log
> I have npm(version 6.14.4), node(version v10.19.0), and python installed on my
> Ubuntu system, and I can run 'python' from the command line. The complete error
> log as defined in the last line above can be found here.
> Please help me out here.
>  https://github.com/sugarlabs/musicblocks#how-to-set-up-a-local-server
>  https://gist.github.com/shrey27tri01/800bcc8362eb1929aa56968fbfaa606d
> Sugar-devel mailing list
> Sugar-devel at lists.sugarlabs.org
More information about the Sugar-devel