Python3 Compatibility with CANVAS Hub Plugins
Notes on updating the Palette and Canvas plugins for OctoPrint and Python3.
The main Mosaic plugins (i.e CANVAS plugin and Palette 2 plugin) are now compatible with Python3, as of versions 2.3.2 and 2.4.6, respectively.
That said, certain Mosaic helper plugins (i.e a Mosaic-modified version of OctoPrint-Netconnectd and Webcam Package) must also be updated to their latest versions for Python3 compatibility, but unfortunately do not have their own built-in software update checks.
Users who own Mosaic CANVAS Hub products (CANVAS Hub or CANVAS Hub S) should update OctoPrint-Netconnectd and Webcam Package to their latest versions. If you own a CANVAS Hub product, an alert should appear after you upgrade your Palette 2 plugin to >=2.4.6, prompting you to also update the relevant helper plugins on your Hub. You will be prompted to restart Octoprint after the plugins have successfully updated.
If you encounter errors after pressing “Update Now” as shown in the above screenshot, please use the following links to update them manually via the plugin manager in the settings.
ONLY if you own a CANVAS Hub:
- OctoPrint-Netconnectd (1.1.0): https://gitlab.com/mosaic-mfg/OctoPrint-...
ONLY if you own a CANVAS Hub S:
- OctoPrint-Netconnectd (1.1.0): https://gitlab.com/mosaic-mfg/OctoPrint-...
- Webcam Package (1.1.2): https://gitlab.com/mosaic-mfg/webcam-pac...
If you have a DIY Raspberry Pi/Octoprint setup with the main Mosaic plugins:
- No action needed. Please do not install the helper plugins as they are meant specifically for their respective Hub products.
Once updated, the helper plugins will now be compatible with Python3 and also have their own built-in software update checks for any future updates, if needed.
If you have any additional questions, please send us a message at support@mosaicmfg.com
28 Comments
so i followed these steps but my hub and and hub s still show Python 2 is end-of-life as of January 1st 2020. While OctoPrint currently still supports running under Python 2, a future version will remove support and require Python 3. You should upgrade as soon as possible!
so what do i have to do now
Damien Ortiz - Reply
Hi Damien, you can follow the steps in this article: mm3d.co/canvashub-reset
Jonny Yeu -
I’m still on python 2 but my canvas appears to be available and so does palette. But the files didn’t update my python… can someone do a video tutorial on how to exactly do the steps so the canvas hub has python 3 ?
Damien Ortiz -
Are you able to use your Hub after flashing the new image file? Also, do the P2 and Canvas tabs appear in Octoprint?
Jonny Yeu -
I tried updating to Py3 but it says I need to have Py3 to update using python3 upgrade.py. circular loop. My hub s is still py 2.7.
R Reynolds - Reply
Hey there, we’re just testing out a new image file and plugins that have been updated for Python 3. They should be available in the next few days.
Jonny Yeu -
Hi Johnny
This sounds more promising and acceptable.
In that case, you may like to consider revising the message so that it does not sound so scary.
By far this is the only responsible commitment I have ever encountered with your support.
I shall take your word for it and await the update image. I expect the software continues to be supported and updated as OctoPrint releases new versions.
Thanks you so much for your help so far in this matter.
W Tang - Reply
Thanks for your feedback, I’ll be sure to update this thread once the plugin and image are updated.
Jonny Yeu -
Hi Johnny
Thanks for your prompt comments.
Does it mean that I still have to update to Python 3 manually on my old CANVAS Hub S before I can use your image file?
Otherwise, I have to ditch my old CANVAS Hub S which I paid for! This is in fact the same impact as the message I sent to you!
It is immaterial whether the update is free or not!
W Tang - Reply
Hi W Tang, as mentioned, we are currently working on a new image file and plugin for the Canvas Hub S that will be compatible with Python 3. Once that’s available, you’ll just need to update the Canvas plugin and it will then be compatible with OctoPrint when it switches permanently to Python 3.
Jonny Yeu -
Here are my further queries to your responses:
1-1a.
3-3a.
Are you supporting the product that you sell, i.e. all the software on CANVAS Hub S including OS, OctoPrint, plugin, etc.?
I actually paid for your CANVAS Hub S, not to OctoPrint Community, correct?
2-2a.
Where does that leave my old Palette 2 & CANVAS Hub S?
I guess I have to pay for the upgrade of both components!
Otherwise they would not work well mixing old and new technology, correct?
Anyway, I would not have high hope on your new design is to control Palette 3 & 3-D Printer via CANVAS,
because as to-date I have not had connections, between your CANVAS & your CANVAS Hub S via internet, stable enough just to download the GCODE files only!
I am still doing download and upload of GCODE files manually now.
4.
How about all the software on CANVAS Hub S including OS, OctoPrint, plugin, etc., not just the hardware components?
W Tang - Reply
Hi W, we apologize for the this situation as we definitely did not expect that OctoPrint would shift to Python 3 so quickly. This is the reason why we’re not going to be compatible with OctoPrint with P3 and will rather use Canvas to control and monitor Palette and your printer as this will provide us with flexibility and the ability to make changes without causing issues like this one.
Yes, I would be happy to assist with Hub questions. However, I’m unable to speak on behalf of OctoPrint and their future plans, which is why I would not know if they plan to continue to support Python 2. I would also be unable to speak on when they plan to have automated updates.
For P2 and your Hub, we’re currently working on creating an image file that is supported by Python 3. We expect that this will be available by the end of the month. This update would be for free.
The warranty for the Hub would only pertain to the hardware aspects. The software will continue to be supported and updated as OctoPrint releases new versions.
Jonny Yeu -
Hi Johnny
Thanks for your prompt responses.
Once again I am extremely disappointed with Mosaic's products and support.
It seems nothing bothers you all once the products were sold and payments received!
This is not my first complaint as you should be able to find my earlier ones when I first tried to use your products 2 years ago.
W Tang - Reply
Hey W, to answer your questions:
1-1a. I believe that you can, but my understanding is that OctoPrint is moving to Python 3. They would be a better resource to answer this question
2-2a. We’ll continue to update the plugins as changes are made to OctoPrint, but we’re moving away from OctoPrint with Palette 3. You’ll be able to remotely monitor and control your Palette and printer via Canvas.
3-3a. This is another question that would be best asked to the OctoPrint community
4. Yes, it would still be under warranty if the hardware components are damaged during the above steps.
Jonny Yeu - Reply
Hi Johnny
Thanks for your prompt responses. I am still wondering with all my previous questions. I would like to stress again that I do not want to mess up my CANVAS Hub S installation and setup except via the Software Update option as provided by your version of OctoPrint. Pls again refer to my questions below and advise ASAP:
1. Can I continue to use this OctoPrint V1.7 with Python 2?
1a. Is Python2 going to be totally incompatible or unsupported in the future?
2. What will happen to future version as mentioned in the msg?
2a. What are the impacts?
3. How come Python is not automatically updated?
3a. Well, when will Python3 upgrade be automated like all the other components?
4. Is my CANVAS Hub S still under your warranty if something went wrong with the ‘manual’ Python3 upgrade?
W Tang - Reply
Hey there, there is a way to update Canvas Hub to Python 3 by following these steps:
- Uninstall Canvas and Palette plugins from Octoprint.
- SSH into the RPi, if you are using Windows you can use PuTTY. You can also use an IP scanner to get the IP address from the RPi, using the IP address as the hostname to connect to. Once you have the IP address, copy and paste it into PuTTY as the host to connect to.
- Unless you have already configured your RPi login, the default id and password to access the Raspberry Pi is:piraspberry
If you have not reset your Hub in the past, the password is your serial number in the format xxxx-ch
- Once the connection is established, please enter the following three commands separately.
a. sudo apt-get update
b. curl -L https://get.octoprint.org/py3/upgrade.py --output upgrade.py
c. python3 upgrade.py
- Once the Python update is complete, please reboot the RPi.Afterwards, reconnect to Octoprint and re-install both the Palette and Canvas plugins.
Jonny Yeu - Reply
Hi
I am getting the message below after I upgraded the OctoPrint to Version 1.7.0 on my CANVAS Hub S. I did update checks but it says everything is up-to-date. I do not want to mess up my CANVAS Hub S installation and setup except via the Software Update option. Pls refer to my questions below and advise ASAP:
1. Can I continue to use this OctoPrint V1.7 with Python 2?
2. What will happen to future version as mentioned in the msg?
3. How come Python is not automatically updated?
You are still running Python 2
Python 2 is end-of-life as of January 1st 2020. While OctoPrint currently still supports running under Python 2, a future version will remove support and require Python 3. You should upgrade as soon as possible!
Please refer to the FAQ for recommended update workflows:
How to migrate to Python 3
W Tang - Reply
@sebastien I see, thank you for letting us know and bringing this to our attention! I will pass this onto the appropriate team. Thanks again.
Alina - Reply
you’re welcome ;)
Sebastien Pujol -
Okay, thanks for letting me know - could you try installing the plugins in this article here: mm3d.co/canvashub-plugin
Alina - Reply
Hi @alina , I posted on the Octoprint forum. I got a reply explaining why the Canvas and Palette 2 plugins were uninstalled when Python 3 was updated.
Obviously, it's up to you to take action to fix the problem.
I leave it to you to look at the answer here
https://community.octoprint.org/t/python...
Sebastien Pujol -
Hello @alina , I've already reinstalled the plugins, don't worry about it. I just wanted to inform you that the update had uninstalled the plugins. I'm looking in the logs to check why it happened.
Sebastien Pujol -
Hey @sebastien, what kind of Hub are you using - the regular Hub, Hub S, or a DIY Hub?
Alina - Reply
Hi @alina, I’m using a DIY hub ;)
Sebastien Pujol -
Hi, I just update Python to version 3, I notice that both plugins Canvas and Palette 2 are now missing from Octoprint.
I followed this instructions to update https://octoprint.org/blog/2020/09/10/up...
Canvas plugin was 2.3.3, Palette 2 plugin was 2.4.13 and marked as compatible with Python 3
All others plugins are still presents
Have a nice day
Sebastien Pujol - Reply
Hi, how do you update Canvas. I have a Canvas Hub-S and a Mac Osx….Could you help me?
christian -
Hey @zjonathan, we apologize for any confusion. The original Hub cannot handle a webcam as the Pi inside is not strong enough. It was built for users who preferred to purchase a Pi to connect their Palette and printer, with preinstalled OctoPrint and CANVAS Hub plugins. For users who already had a Pi and preferred to build their own Hub, we created a support article here: mm3d.co/canvashub-plugin
The Hub S, however, is capable of handling a webcam, and we usually refer to this list of compatible webcams as a recommendation: https://github.com/foosel/OctoPrint/wiki...
Hope that helps!
Alina - Reply
Is there no plugin to enable my webcam on the Hub (not S version)? I am wondering why not, unless the pi zero is just not powerful enough to handle it.
Jonathan Zimmers - Reply