New OctoPi Release: 0.18.0

Guy Sheffer has just released OctoPi 0.18.0 - big thanks to him and also to everyone who helped test the release candidates and the nightly builds that went into this and reported back!

OctoPi 0.18.0 contains the following changes (see also its changelog):

  • OctoPrint 1.5.2
  • OctoPi now uses Python3
  • RpiOS image 2020-12-02
  • /home/pi/scripts/safemode (thanks @OutsourcedGuru)
  • Fix #619 Shutdown requires network (Thanks @da4id)
  • #623 from szopen111/fix-issue-621 (Workaround for low resolution cameras)
  • Fix/enable haproxy logging #640 and enable compression at haproxy layer #643 (thanks @tedder)
  • Experimental HLS support #650 #668 #688 (thanks @chudsaviet)
  • Removed old Cura. See #654 and #444.
  • Some usb cameras setting fixed (#657 b64a544 0d0ea37)
  • Fixes #676 and adds deps to install numpy from wheel for plugins taht need numpy
  • New arm64 builds (Not released yet)
  • Set HAProxy Diffie-Hellman key size to 2048 #685

Build notes

You’ll note that OctoPrint is still at 1.5.2, not the latest 1.5.3 released last week - the RC for OctoPi was already underway and we didn’t want to delay the image even further for another RC round including the latest bugfix release. However, you can just immediately upgrade OctoPrint, it should prompt you.

You can download OctoPi 0.18.0 from the usual place. If you are asking yourself how to update from an earlier version of OctoPi, please read on.

“How do I update?”

There is currently no way to update from earlier OctoPi versions to a new version of that image. It’s not strictly necessary though - a new image basically means that if you have to setup a new instance you’ll start at a newer version of everything bundled with the image. Anything included on the image however can also be kept up to date without having to reflash. OctoPrint will have prompted you to update itself and will continue to do so, and most of the image itself can be kept up to date like every other Raspbian image.

Normally there’d be no pressing need to reflash, however since this image finally ditches Python 2 in favour of Python 3, which apart from continued support also adds some nice performance improvements, you might want to switch sooner rather than later.

If so, read here on how to create a backup of OctoPrint which you can apply after reflashing and updating to the latest version.

Confused about the difference between OctoPi and OctoPrint? Read this!

This is a companion discussion topic for the original entry at

good job @guysoft

1 Like


I want to move my octoprint to a new pi but I can't restore the backup because it is in 0.18 and I can't upddate v 0.17 to 0.18

How do I fix this?

Why can't you restore the backup? As long as the version of OctoPrint you are going to is the same or newer than the previous install, it should work. If you are getting error messages you want help with, open a 'Get Help' thread to provide all the info.

I found the solution, Sorry, I was under the impression that it complained about OctoPi but OctoPi 0.18.0 ships with an older OctoPrint.
So I had to set it up, update OctoPrint and then restore the backup.

Thank you for all the Time and effort put into this!


It's not like I put this into the release announcement just for fun... :wink:


Pi 3B+ Sovol SV01 OctoPi 0.18.0 installed no problems.

1 Like

I updated my Ender 3 Pro running vanilla Marlin, Pi 4B 2GB this morning, reimaged my back-up after updating to 1.5.3, now when a print begins the extrusion before the skirt the Y Axis runs all the way forward grinding the motor and then all the way back grinding the motor again and the X takes of in the same manner. it's happed on a bed leveling print I ran last night with no problems, and a newly sliced print. Haven't had the time to do any more trouble shooting than that so far, but if anyone has any suggestions for things to look at once I log off from work today it would be greatly appreciated!

does it also happen in safe mode?
anything in the logs (serial.log) ?

I will try safe mode shortly. serial.log was not enabled, the only thing that looks odd in the octoprint.log is a ton of tornado.access -WARNING - 409 GET /api/printer and by a ton there are several thousand.

Safe mode prints as expected, so now to determine which plugin is causing the issue I suppose.

1 Like

yep :slight_smile:

I noticed on first print after 0.18.0 update that print time left is wacky. Just over 1 hour into a 15 hour print and print time left indicates 285.25.16 or therabouts. Interestingly the xxx.25.xx is updating every couple of seconds and the 285.xx.xx is increasing instead of decreasing. Thinking this might be minutes left, deciding by 60 yields 4+ hours not anywhere near 13 or 14. This always worked before and seems like there was either a feature or plugin to produce more accurate timings that seemed to work ok. If it was a plug-in (don’t remember) maybe it just needs an update.

Reply to my own comment - looked up my plugins and noticed I have print time genius plugin. Guess maybe it needs an update. Thanks

I just installed OctoPi release 0.18.0. When I do python --version via ssh I get Python 2.7.16. The reason I changed to release 0.18 was to get Python version 3. How come it still shows Python 2.7.16?

You are looking at the system python version. You have both python (@2.7.16) and python3 (@3.7.3).

The interpreter OctoPrint uses is actually neither of these, but the virtual environment at ~/oprint/bin/python which is at Python 3.

1 Like

To check what version of Python OctoPrint is running under, look in the lower left corner of the UI:


Or the System Information:

Thanks for both replies, that clarifies a lot and indeed my Python environment version is 3.7.3.
By the way what is the reason to keeping Python 2.7.16 that is over 1 year past end of life from the SSH command line? Could that be updated to a recent Python 3 version in the next SD-card image released (V0.19.1 or V0.20.0)?

OctoPi is based on stock Raspbian/Raspberry Pi OS. As long as they have Python 2 on board, OctoPi will have Python 2 on board.