Bed Visualizer v0.1.3 takes a fair amount of time to install, btw

The new numpy requirement adds a bit of time to compile on the Raspberry. That's about 24 minutes, as seen below in my log. It eventually succeeds and seems to be happy but the average user will pessimistically think that something has gone wrong and potentially abort.

2018-08-06 15:10:39,865 > Running setup.py install for numpy: started
2018-08-06 15:11:41,956 > Running setup.py install for numpy: still running...
2018-08-06 15:12:41,566 > Running setup.py install for numpy: still running...
2018-08-06 15:13:42,095 > Running setup.py install for numpy: still running...
2018-08-06 15:14:44,307 > Running setup.py install for numpy: still running...
2018-08-06 15:15:47,516 > Running setup.py install for numpy: still running...
2018-08-06 15:16:50,049 > Running setup.py install for numpy: still running...
2018-08-06 15:17:53,107 > Running setup.py install for numpy: still running...
2018-08-06 15:19:00,591 > Running setup.py install for numpy: still running...
2018-08-06 15:20:51,302 > Running setup.py install for numpy: still running...
2018-08-06 15:22:08,727 > Running setup.py install for numpy: still running...
2018-08-06 15:23:10,876 > Running setup.py install for numpy: still running...
2018-08-06 15:26:01,594 > Running setup.py install for numpy: still running...
2018-08-06 15:28:33,445 > Running setup.py install for numpy: still running...
2018-08-06 15:33:57,314 > Running setup.py install for numpy: still running...
2018-08-06 15:34:08,885

Just an FYI in case anyone panics.

4 Likes

Thanks @OutsourcedGuru. I did update the release notes to include that bit of information as there was some people that had posted issues that it wasn't installing. I didn't necessarily want to use numpy, but that seemed to be the fastest path to get what I needed to process python lists.

Initially, I got worried but tail'd the log and ps and there was progression so... just noting it for you.

Is there a way to add a notice to the install script that it may take up to an hour to compile on embedded systems? That'd probably save some headaches from people who don't read release notes, manuals, guides, or forums.

Not that I am aware of, but @foosel may know of a way?

Nothing you could do beforehand besides including that information in the description & short summary.

OctoPrint's plugin install mechanism is basically just a pip install wrapped with some logging. Might be possible to hook into that, check the archive for some special metadata file and if it's present evaluate that in some way to trigger messages like that, but currently there's no such mechanism in place.

This is true with the Prusa bed leveler too. Good 'ol numpy.

hey @foosel @jneilliii would using the piwheels extra-index-url fix this?

Not sure that will work with our venv because of Python 2...

Wheels provided support all Raspberry Pi models (Pi 3, Pi 2, Pi 1 and Pi Zero). Wheels are provided for Python 3.4 and 3.5. We plan to add support for Python 3.6 and 2.7.

Aha, good catch. We can dream :slight_smile:

Yeah, every time I come across piwheels my mind goes "oooooh, sweet, I can just add that as extra index URL" and then my dreams are crushed all over again :wink:

It didn´t took that long to me. I had an issue after instaling it. It froze at the update mesh part. I didin´t find anything wrong and didin´t find a log for the plugin. Removed and reinstalled the plugin, now it´s working fine.
It´s good to have a graphic representation of the bed. It helps a lot in a manual bed leveling process. Thanks for that!

Same here. Opened an issue and the author promptly fixed it.

I try to support my plugins the best I can time permitting. I do this after work hours so there could be delays...

2 Likes

Hi Jim,

I'm reviving this old topic as it appears that the plugin still uses numpy and I'm finding that the install is failing on my system (Pi 3B). I also believe that since this topic was originally discussed, OctoPi & OctoPrint is now using Python 3, so could PiWheels now be implemented?

PS: I don't really know what I am talking about, but am putting 2 & 2 together from the information gleaned above and elsewhere. (I used to be a software developer, but not in Python).

OctoPi 0.18 even comes with the relevant system dependency preinstalled, and should pull from piwheels by default (because it is Python 3). It worked quite quickly for me, and others, on Python 3 for sure.

Charlie is correct. The latest octopi 0.18 release that comes with Python 3 and the required system dependencies on libatlas3-base installs quite fast and is completely functional.

I've just realised that I've wasted your time, sorry!!! I have two printer's (and RaspPi's) running OctoPrint, I've setup my one from scratch on OctoPi 18, but the one I'm trying to install this on the old one, so that explains it.

Thanks and apologies.

no worries. you could also update that environment to python 3 (with Charlie's upgrade scripts) and then manually run sudo apt install libatlas3-base via SSH and then install the plugin.