I installed a program, created folders, etc. on Ubuntu 22.04.2 LTS All files and folders were deleted upon restarting of the machine

I’m new to Linux, I’m repurposing a much older machine to use octoprint on. I did a full install to a 500gb ssd from an iso file on a thumb drive.

I installed octoprint, using this guide:

Everything ran fine, i was able to remote into the linux system from my browser window on a windows laptop. I then shut down the system to move it to it’s new home, next to the printer I plan on using.

I restarted it, but it seems all the files, directories, etc have been deleted. The new PI user I created is still there, but everything else is gone.

What am I doing wrong?

If I had to take a guess, you’ve booted a live Linux installer, installed Linux on the SSD, and then didn’t exit the live installer environment. This live environment saves changes in RAM, and so they are lost on reboot.
It probably asked you to reboot after the installation, and you didn’t. The user probably was transferred during the installation.

What Linux distribution and installer did you use?

1 Like

How can I tell if it’s a live install or not? Yes, I rebooted after i installed it. Ubuntu 22.04.2 LTS

Prompt comes up with user@hostname

From what I can see, if I was on a live cd, it would be ubuntu@ubuntu or something, no?

Well, there shouldn’t be such a thing as a “live-install”.

There is the regular Linux installation you created using the installer(“non-live”),

and then there is the Linux environment the installer uses: It’s a small Linux just for installing Linux to a storage, but you can use it like any other Linux. The “live” Linux uses the boot storage medium you created as it’s HDD(the USB stick you created from an ISO), and stores changes only in RAM.

My guess is that you somehow ended up in the live installer environment again when installing your things, after you already completed your installation. Either because you didn’t reboot, or because you booted from the USB stick again.

You can of course boot from the HDD now, setup your things, and have your settings persistent.

You can check if you’re running a “live” linux via the mount command, but if you’ve removed the USB stick and rebooted you can’t be in the Live environment.

USB stick is in my pocket, been there for an hour now, through 2 reboots, so i’m not understand what is going on, definitely not in a LIVE cd.

Well, can you install programs normally now, and do your settings persist now?

Maybe post the output of the mount command: It shows you how the current storage paths are configured.

There’s 40 ish items in the mount command. I’m gonna reboot, see if it deletes again…

Yeah, the mount output has gotten crowded ever since cgroups and systemd became a thing…
After some googling, it appears you can use the findmnt command. Could you post the output of:

findmnt /
findmnt /home

This will show you what’s currently mounted on / (also known as the filesystem root, or root filesystem) and /home (where your user’s data resides).

/ is the filesystem all other filesystems are “put inside”(the process of making a filesystem accessible in a sub-directory of another filesystem is called mounting).

But sometimes / is not on a HDD(it gets more confusing), but in a file that gets loaded into RAM(even for non-live Linux).

So checking /home should always get you to an actual HDD, even if / is on a RAM-disk.

Let me know if you have any more questions.

I’m NOT on a live cd, but when I restarted, the octoprint filesystem, python3 downloads, folders, etc are all gone, I’m not sure how this happens, doesn’t make sense honestly to me.

where are you downloading / installing the software (which path)?

on the terminal, using the linked installer.

So, from the terminal, you do not have ~/OctoPrint as a folder ?

ls -la ~/OctoPrint

no, but i’m restarting again, after loading it all in a third time

post a log of what commands you are running while you’re at it …

1 Like

it finally showed up, weird

i’m not sure what you mean by logs or commands, i was just trying to find the directory that i’ve loaded 3 times and the other files.

A log of what you did so that we can help you understand where you put your files?
It is more likely that you installed multiple times in different places (maybe one on the home of user pi, another on the home of the usere you log into the machine) …

You can issue a

sudo find / -name OctoPrint

and it will look in your filesystem and print the OctoPrint folders as it finds them …


❯ mkdir 00
❯ mkdir OctoPrint && cd OctoPrint
python3 -m venv venv
source venv/bin/activate
❯ pip install --no-cache-dir octoprint
Collecting octoprint
  Downloading OctoPrint-1.8.6-py2.py3-none-any.whl (3.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.9/3.9 MB 10.0 MB/s eta 0:00:00
Collecting PyYAML<6,>=5.4.1
  Downloading PyYAML-5.4.1.tar.gz (175 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 175.1/175.1 kB 46.0 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting OctoPrint-FileCheck>=2021.2.23
  Downloading OctoPrint_FileCheck-2021.2.23-py2.py3-none-any.whl (19 kB)
Collecting Flask-Assets<3,>=2.0
  Downloading Flask_Assets-2.0-py3-none-any.whl (8.5 kB)
Collecting netaddr<0.9,>=0.8
  Downloading netaddr-0.8.0-py2.py3-none-any.whl (1.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 13.5 MB/s eta 0:00:00
Collecting unidecode
  Downloading Unidecode-1.3.6-py3-none-any.whl (235 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 235.9/235.9 kB 13.2 MB/s eta 0:00:00
Collecting OctoPrint-PiSupport>=2022.3.28
  Downloading OctoPrint_PiSupport-2022.6.13-py2.py3-none-any.whl (33 kB)
Collecting netifaces<1,>=0.11
  Downloading netifaces-0.11.0.tar.gz (30 kB)
  Preparing metadata (setup.py) ... done
Collecting sarge==0.1.6
  Downloading sarge-0.1.6.tar.gz (26 kB)
  Preparing metadata (setup.py) ... done
Collecting pathvalidate<3,>=2.4.1
  Downloading pathvalidate-2.5.2-py3-none-any.whl (20 kB)
Collecting watchdog<2,>=1
  Downloading watchdog-1.0.2.tar.gz (98 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.5/98.5 kB 97.2 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting regex
  Downloading regex-2022.10.31-cp310-cp310-macosx_10_9_x86_64.whl (293 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 293.9/293.9 kB 3.1 MB/s eta 0:00:00
Collecting colorlog<7,>=6
  Downloading colorlog-6.7.0-py2.py3-none-any.whl (11 kB)
Collecting Click<9,>=8.0.3
  Downloading click-8.1.3-py3-none-any.whl (96 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.6/96.6 kB 34.5 MB/s eta 0:00:00
Collecting cachelib<0.3,>=0.2
  Downloading cachelib-0.2.0-py3-none-any.whl (12 kB)
Collecting blinker<2,>=1.4
  Downloading blinker-1.5-py2.py3-none-any.whl (12 kB)
Collecting emoji<2,>=1.4.2
  Downloading emoji-1.7.0.tar.gz (175 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 175.4/175.4 kB 9.2 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting markdown<4,>=3.2.2
  Downloading Markdown-3.4.1-py3-none-any.whl (93 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 93.3/93.3 kB 83.2 MB/s eta 0:00:00
Collecting pkginfo<2,>=1.7.1
  Downloading pkginfo-1.9.6-py3-none-any.whl (30 kB)
Collecting wrapt<1.14,>=1.13.3
  Downloading wrapt-1.13.3-cp310-cp310-macosx_10_9_x86_64.whl (33 kB)
Collecting pylru<2,>=1.2
  Downloading pylru-1.2.1-py3-none-any.whl (16 kB)
Collecting Flask-Login<0.6,>=0.5
  Downloading Flask_Login-0.5.0-py2.py3-none-any.whl (16 kB)
Collecting pyserial<4,>=3.4
  Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 kB 13.1 MB/s eta 0:00:00
Collecting sentry-sdk<2,>=1.5.7
  Downloading sentry_sdk-1.16.0-py2.py3-none-any.whl (184 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 184.3/184.3 kB 15.9 MB/s eta 0:00:00
Collecting feedparser<7,>=6.0.8
  Downloading feedparser-6.0.10-py3-none-any.whl (81 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 81.1/81.1 kB 61.6 MB/s eta 0:00:00
Collecting filetype<2,>=1.0.7
  Downloading filetype-1.2.0-py2.py3-none-any.whl (19 kB)
Collecting Flask-Limiter<3,>=2.6
  Downloading Flask_Limiter-2.9.2-py3-none-any.whl (27 kB)
Collecting future<1,>=0.18.2
  Downloading future-0.18.3.tar.gz (840 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 840.9/840.9 kB 14.5 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting websocket-client<2,>=1.2.1
  Downloading websocket_client-1.5.1-py3-none-any.whl (55 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 55.9/55.9 kB 103.5 MB/s eta 0:00:00
Collecting appdirs<2,>=1.4.4
  Downloading appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Collecting flask<2.2,>=2.1
  Downloading Flask-2.1.3-py3-none-any.whl (95 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 95.6/95.6 kB 31.6 MB/s eta 0:00:00
Collecting psutil<6,>=5.8
  Downloading psutil-5.9.4-cp36-abi3-macosx_10_9_x86_64.whl (243 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 243.5/243.5 kB 20.1 MB/s eta 0:00:00
Collecting requests<3,>=2.26.0
  Downloading requests-2.28.2-py3-none-any.whl (62 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.8/62.8 kB 80.6 MB/s eta 0:00:00
Collecting passlib<2,>=1.7.4
  Downloading passlib-1.7.4-py2.py3-none-any.whl (525 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 525.6/525.6 kB 12.3 MB/s eta 0:00:00
Collecting argon2-cffi<22,>=21.3.0
  Downloading argon2_cffi-21.3.0-py3-none-any.whl (14 kB)
Collecting frozendict<3,>=2.0
  Downloading frozendict-2.3.5-cp310-cp310-macosx_10_9_x86_64.whl (34 kB)
Collecting OctoPrint-FirmwareCheck>=2021.10.11
  Downloading OctoPrint_FirmwareCheck-2021.10.11-py2.py3-none-any.whl (33 kB)
Collecting semantic-version<3,>=2.8.5
  Downloading semantic_version-2.10.0-py2.py3-none-any.whl (15 kB)
Collecting zipstream-ng<2.0.0,>=1.3.4
  Downloading zipstream_ng-1.4.0-py3-none-any.whl (21 kB)
Collecting tornado<7,>=6.0.4
  Downloading tornado-6.2-cp37-abi3-macosx_10_9_x86_64.whl (419 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 419.7/419.7 kB 15.5 MB/s eta 0:00:00
Collecting zeroconf<0.34,>=0.33
  Downloading zeroconf-0.33.4-py3-none-any.whl (89 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 89.8/89.8 kB 115.0 MB/s eta 0:00:00
Collecting Flask-Babel<3,>=2.0
  Downloading Flask_Babel-2.0.0-py3-none-any.whl (9.3 kB)
Collecting werkzeug<2.1,>=2.0
  Downloading Werkzeug-2.0.3-py3-none-any.whl (289 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 289.2/289.2 kB 21.3 MB/s eta 0:00:00
Collecting argon2-cffi-bindings
  Downloading argon2_cffi_bindings-21.2.0-cp38-abi3-macosx_10_9_universal2.whl (53 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.1/53.1 kB 60.7 MB/s eta 0:00:00
Collecting sgmllib3k
  Downloading sgmllib3k-1.0.0.tar.gz (5.8 kB)
  Preparing metadata (setup.py) ... done
Collecting Jinja2>=3.0
  Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.1/133.1 kB 118.5 MB/s eta 0:00:00
Collecting itsdangerous>=2.0
  Downloading itsdangerous-2.1.2-py3-none-any.whl (15 kB)
Collecting webassets>=2.0
  Downloading webassets-2.0-py3-none-any.whl (142 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 142.9/142.9 kB 94.5 MB/s eta 0:00:00
Collecting Babel>=2.3
  Downloading Babel-2.12.1-py3-none-any.whl (10.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.1/10.1 MB 11.4 MB/s eta 0:00:00
Collecting pytz
  Downloading pytz-2022.7.1-py2.py3-none-any.whl (499 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 499.4/499.4 kB 21.3 MB/s eta 0:00:00
Collecting limits>=2.8
  Downloading limits-3.2.0-py3-none-any.whl (43 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 43.8/43.8 kB 94.0 MB/s eta 0:00:00
Collecting rich<13,>=12
  Downloading rich-12.6.0-py3-none-any.whl (237 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 237.5/237.5 kB 19.9 MB/s eta 0:00:00
Collecting typing-extensions>=4
  Downloading typing_extensions-4.5.0-py3-none-any.whl (27 kB)
Collecting ordered-set<5,>4
  Downloading ordered_set-4.1.0-py3-none-any.whl (7.6 kB)
Collecting charset-normalizer<4,>=2
  Downloading charset_normalizer-3.0.1-cp310-cp310-macosx_10_9_x86_64.whl (124 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 124.2/124.2 kB 99.5 MB/s eta 0:00:00
Collecting urllib3<1.27,>=1.21.1
  Downloading urllib3-1.26.14-py2.py3-none-any.whl (140 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.6/140.6 kB 114.0 MB/s eta 0:00:00
Collecting certifi>=2017.4.17
  Downloading certifi-2022.12.7-py3-none-any.whl (155 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 155.3/155.3 kB 43.4 MB/s eta 0:00:00
Collecting idna<4,>=2.5
  Downloading idna-3.4-py3-none-any.whl (61 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 kB 77.3 MB/s eta 0:00:00
Collecting ifaddr>=0.1.7
  Downloading ifaddr-0.2.0-py3-none-any.whl (12 kB)
Collecting MarkupSafe>=2.0
  Downloading MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl (13 kB)
Requirement already satisfied: setuptools in ./venv/lib/python3.10/site-packages (from limits>=2.8->Flask-Limiter<3,>=2.6->octoprint) (65.6.3)
Collecting packaging<24,>=21
  Downloading packaging-23.0-py3-none-any.whl (42 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 42.7/42.7 kB 46.6 MB/s eta 0:00:00
Collecting deprecated>=1.2
  Downloading Deprecated-1.2.13-py2.py3-none-any.whl (9.6 kB)
Collecting pygments<3.0.0,>=2.6.0
  Downloading Pygments-2.14.0-py3-none-any.whl (1.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 13.3 MB/s eta 0:00:00
Collecting commonmark<0.10.0,>=0.9.0
  Downloading commonmark-0.9.1-py2.py3-none-any.whl (51 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 51.1/51.1 kB 101.1 MB/s eta 0:00:00
Collecting cffi>=1.0.1
  Downloading cffi-1.15.1-cp310-cp310-macosx_10_9_x86_64.whl (179 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 179.2/179.2 kB 51.2 MB/s eta 0:00:00
Collecting pycparser
  Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 118.7/118.7 kB 31.0 MB/s eta 0:00:00
Building wheels for collected packages: PyYAML
  Building wheel for PyYAML (pyproject.toml) ... done
  Created wheel for PyYAML: filename=PyYAML-5.4.1-cp310-cp310-macosx_13_0_x86_64.whl size=45663 sha256=819734bb428dd78f4e973ddbd73afed6c31c48df3d42271a79bc211871efc910
  Stored in directory: /private/var/folders/_j/0nvkgy_95zx8xjdhvd1qdcs40000gp/T/pip-ephem-wheel-cache-exh4rx8k/wheels/10/3f/c1/6feec52270653969575b83de934b04be56d7a9e961be5041ea
Successfully built PyYAML
Installing collected packages: webassets, sgmllib3k, sarge, pytz, pyserial, pylru, passlib, OctoPrint-PiSupport, OctoPrint-FirmwareCheck, OctoPrint-FileCheck, netifaces, netaddr, ifaddr, filetype, emoji, commonmark, charset-normalizer, appdirs, zipstream-ng, zeroconf, wrapt, werkzeug, websocket-client, watchdog, urllib3, unidecode, typing-extensions, tornado, semantic-version, regex, PyYAML, pygments, pycparser, psutil, pkginfo, pathvalidate, packaging, ordered-set, MarkupSafe, markdown, itsdangerous, idna, future, frozendict, feedparser, colorlog, Click, certifi, cachelib, blinker, Babel, sentry-sdk, rich, requests, Jinja2, deprecated, cffi, limits, flask, argon2-cffi-bindings, Flask-Login, Flask-Limiter, Flask-Babel, Flask-Assets, argon2-cffi, octoprint
  DEPRECATION: sgmllib3k is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
  Running setup.py install for sgmllib3k ... done
  DEPRECATION: sarge is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
  Running setup.py install for sarge ... done
  DEPRECATION: netifaces is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
  Running setup.py install for netifaces ... done
  DEPRECATION: emoji is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
  Running setup.py install for emoji ... done
  DEPRECATION: watchdog is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
  Running setup.py install for watchdog ... done
  DEPRECATION: future is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
  Running setup.py install for future ... done
Successfully installed Babel-2.12.1 Click-8.1.3 Flask-Assets-2.0 Flask-Babel-2.0.0 Flask-Limiter-2.9.2 Flask-Login-0.5.0 Jinja2-3.1.2 MarkupSafe-2.1.2 OctoPrint-FileCheck-2021.2.23 OctoPrint-FirmwareCheck-2021.10.11 OctoPrint-PiSupport-2022.6.13 PyYAML-5.4.1 appdirs-1.4.4 argon2-cffi-21.3.0 argon2-cffi-bindings-21.2.0 blinker-1.5 cachelib-0.2.0 certifi-2022.12.7 cffi-1.15.1 charset-normalizer-3.0.1 colorlog-6.7.0 commonmark-0.9.1 deprecated-1.2.13 emoji-1.7.0 feedparser-6.0.10 filetype-1.2.0 flask-2.1.3 frozendict-2.3.5 future-0.18.3 idna-3.4 ifaddr-0.2.0 itsdangerous-2.1.2 limits-3.2.0 markdown-3.4.1 netaddr-0.8.0 netifaces-0.11.0 octoprint-1.8.6 ordered-set-4.1.0 packaging-23.0 passlib-1.7.4 pathvalidate-2.5.2 pkginfo-1.9.6 psutil-5.9.4 pycparser-2.21 pygments-2.14.0 pylru-1.2.1 pyserial-3.5 pytz-2022.7.1 regex-2022.10.31 requests-2.28.2 rich-12.6.0 sarge-0.1.6 semantic-version-2.10.0 sentry-sdk-1.16.0 sgmllib3k-1.0.0 tornado-6.2 typing-extensions-4.5.0 unidecode-1.3.6 urllib3-1.26.14 watchdog-1.0.2 webassets-2.0 websocket-client-1.5.1 werkzeug-2.0.3 wrapt-1.13.3 zeroconf-0.33.4 zipstream-ng-1.4.0

[notice] A new release of pip available: 22.3.1 -> 23.0.1
[notice] To update, run: pip install --upgrade pip
❯ pwd
/Users/mattiarossi/OctoPrint
❯ whoami
mattiarossi
~/OctoPrint ❯                                                                                                                              Py OctoPrint
3 Likes