Maslow Home Maslow Community Garden Newsletter

ModuleNotFoundError Can't install

I’m trying to install Ground control and after following installation instructions, I run python main.py and get this:

[INFO ] [Logger ] Record log in /home/awesome/.kivy/logs/kivy_20-07-23_64.txt
[INFO ] [Kivy ] v2.0.0rc3, git-20c14b2, 20200615
[INFO ] [Kivy ] Installed at “/home/awesome/.local/lib/python3.8/site-packages/kivy/init.py”
[INFO ] [Python ] v3.8.2 (default, Jul 16 2020, 14:00:26)
[GCC 9.3.0]
[INFO ] [Python ] Interpreter at “/usr/bin/python”
[INFO ] [Factory ] 185 symbols loaded
[INFO ] [Image ] Providers: img_tex, img_dds, img_sdl2, img_pil (img_ffpyplayer, img_gif ignored)
[INFO ] [Window ] Provider: sdl2
[INFO ] [GL ] Using the “OpenGL” graphics system
[INFO ] [GL ] Backend used
[INFO ] [GL ] OpenGL version <b’3.0 Mesa 20.0.8’>
[INFO ] [GL ] OpenGL vendor <b’Intel Open Source Technology Center’>
[INFO ] [GL ] OpenGL renderer <b’Mesa DRI Intel® HD Graphics 4400 (HSW GT2)’>
[INFO ] [GL ] OpenGL parsed version: 3, 0
[INFO ] [GL ] Shading version <b’1.30’>
[INFO ] [GL ] Texture max size <16384>
[INFO ] [GL ] Texture max units <32>
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
[INFO ] [Text ] Provider: sdl2
Traceback (most recent call last):
File “main.py”, line 40, in
from UIElements.diagnosticsMenu import Diagnostics
File “/home/awesome/Downloads/GroundControl-mastero/UIElements/diagnosticsMenu.py”, line 6, in
from Simulation.simulationCanvas import SimulationCanvas
File “/home/awesome/Downloads/GroundControl-mastero/Simulation/simulationCanvas.py”, line 6, in
from kinematics import Kinematics
ModuleNotFoundError: No module named ‘kinematics’

Hi @David_Scheidegger, my guess is that python3 is the issue here. GC is written for python2 and has not been ‘upgraded’. If you have the lower version installed it might run with python2 main.py.

Kind regards, Gero
Edit: Look up webcontrol, as this is browser based and currently more active software for the Maslow.

1 Like

If you are installing the full repo rather than the release distribution, why not go for webcontrol? it will work with newer python.

Thank you. I will try web control.

I attempted to get webcontrol up. I got this error message.

sudo systemctl status webcontrol
● webcontrol.service - WebControl
Loaded: loaded (/etc/systemd/system/webcontrol.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2020-07-24 23:52:30 MDT; 14s ago
Process: 4349 ExecStart=/home/pi/webcontrol/webcontrol (code=exited, status=217/USER)
Main PID: 4349 (code=exited, status=217/USER)

Jul 24 23:52:30 awesome systemd[1]: webcontrol.service: Scheduled restart job, restart counter is at 5.
Jul 24 23:52:30 awesome systemd[1]: Stopped WebControl.
Jul 24 23:52:30 awesome systemd[1]: webcontrol.service: Start request repeated too quickly.
Jul 24 23:52:30 awesome systemd[1]: webcontrol.service: Failed with result ‘exit-code’.
Jul 24 23:52:30 awesome systemd[1]: Failed to start WebControl.

What is your operating system? Are you on linux or on a raspberry pi? It is very possible that the service files are not in the right permission state to be executed by all users so the service failed. A quick check would be to disable the services and manually start it and then restart. The error messages are not providing great detail as to why they didn’t work. I need to look into this one:

status =217/USER

I’m running ubuntu 20.04. I tried altering permissions. Still:
sudo systemctl status webcontrol
● webcontrol.service - WebControl
Loaded: loaded (/etc/systemd/system/webcontrol.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sat 2020-07-25 14:36:04 MDT; 1min 10s ago
Process: 2926 ExecStart=/home/pi/webcontrol/webcontrol (code=exited, status=217/USER)
Main PID: 2926 (code=exited, status=217/USER)

Jul 25 14:36:04 awesome systemd[2926]: webcontrol.service: Failed at step USER spawning /home/pi/webcontrol/webcontrol: No such process
Jul 25 14:36:04 awesome systemd[1]: webcontrol.service: Main process exited, code=exited, status=217/USER
Jul 25 14:36:04 awesome systemd[1]: webcontrol.service: Failed with result ‘exit-code’.
Jul 25 14:36:04 awesome systemd[1]: webcontrol.service: Scheduled restart job, restart counter is at 5.
Jul 25 14:36:04 awesome systemd[1]: Stopped WebControl.
Jul 25 14:36:04 awesome systemd[1]: webcontrol.service: Start request repeated too quickly.
Jul 25 14:36:04 awesome systemd[1]: webcontrol.service: Failed with result ‘exit-code’.
Jul 25 14:36:04 awesome systemd[1]: Failed to start WebControl.

did you manually install the service or did it come with webcontrol? Mine are all manual, but I wrote the guides on how to set them up, but I did them for the raspberry pi…

>sudo system disable webcontrol

>cd /[user]/webcontrol/
>cat webcontrol.service

when I do that, it shows this:

[Unit]
Description=WebControl
After=network.target

[Service]
ExecStart=/home/pi/WebControl/webcontrol
WorkingDirectory=/home/pi/WebControl
StandardOutput=inherit
StandardError=inherit
Restart=always
User=pi

[Install]
WantedBy=multi-user.target

if your service has what mine does, you will wan to change the path for ExecStart and WorkingDirectory as well as User.

if you go into the webcontrol folder with the terminal and type

>./webcontrol

does it start?

Excuse my ignorance, but how do I change the paths and the user? My output is the same as yours.

Also, I just followed the instructions from here to install: https://github.com/madgrizzle/WebControl

to change the path and the user, use this command:

>sudo nano /etc/systemd/system/webcontrol.service

you are using the nano text editor to change the service file. for user, use your login name and for the other items, use whatever your user home folder is, usually /home/username

edit the items and then press control and X to exit and press enter twice and it will let you out.

WRT the repo you downloaded, when you download the webcontrol files, you need to get them from the webcontrolcnc repository since madgrizzle transferred it there and then he copied it back to his as a fork.

this feels like success, but isn’t there a gui that should be popping up?:

sudo systemctl status webcontrol
[sudo] password for awesome:
● webcontrol.service - WebControl
Loaded: loaded (/etc/systemd/system/webcontrol.service; enabled; vendor pr>
Active: active (running) since Mon 2020-07-27 16:56:07 MDT; 3min 53s ago
Main PID: 4253 (webcontrol)
Tasks: 3 (limit: 4531)
Memory: 115.3M
CGroup: /system.slice/webcontrol.service
├─4253 /home/awesome/webcontrol/webcontrol
└─4276 /home/awesome/webcontrol/webcontrol

Jul 27 16:56:07 awesome systemd[1]: Started WebControl.
lines 1-11/11 (END)

1 Like

Looks good like it is running! that is great. To use it, it helps to understand that you are running a webserver and we interact with it by opening a web browser on the local machine, on a phone, on a tablet, or on a different machine that is connected on the same network. On the local linux system it will be localhost:5000. If you do an ifconfig, you an get the ip address and open it from your phone or other device at [ip_address]:5000. If you don’t include the colon 5000, it won’t find it. It must have the port number.

no, you use a browser as your gui

I must be missing something. I got webcontrol up, connected to the maslow machine, but I can’t get it to even move any of the motors in the slightest. Is there some sort of config file I’m missing? In the getting started section in the help category, it says import groundcontrol.ini. I don’t have that. Please help.

This is running on a linux machine? Can you stop the webcontrol service,

>sudo systemctl stop webcontrol

then start it manually in a terminal window? Look at the program messages when you get that error and tell us what the program messages say? You navigate to the webcontrol folder and run it with

>./webcontrol

then you will see the startup output. Should look something like this:

Is the power supply plugged into the motor shield or the Arduino (should be in the motor shield)?

1 Like

And you don’t by need to import ground control.ini. that’s just for people migrating.

1 Like

Now, web control won’t run gcode or move with the controls. I was able to move the motors to set chain length just fine with the controls within that configuration, and the test motors function works sometimes. That’s about it.