Upgrade to 1.11.0 fails: cannot find Rust?!

What is the problem?

I tried to upgrade my OctoPrint from 1.10.3 to 1.11.0 and failed because of the following error:


2025-04-28 18:25:23,385 > Preparing metadata (pyproject.toml): finished with sta
tus 'error'
2025-04-28 18:25:23,922 ! error: subprocess-exited-with-error
2025-04-28 18:25:23,924 !
2025-04-28 18:25:23,926 ! × Preparing metadata (pyproject.toml) did not run succ
essfully.
2025-04-28 18:25:23,928 ! │ exit code: 1
2025-04-28 18:25:23,939 ! ╰─> [6 lines of output]
2025-04-28 18:25:23,942 !
2025-04-28 18:25:23,944 ! Cargo, the Rust package manager, is not installed or i
s not on PATH.
2025-04-28 18:25:23,946 ! This package requires Rust and Cargo to compile extens
ions. Install it through
2025-04-28 18:25:23,947 ! the system's package manager or via https://rustup.rs/
2025-04-28 18:25:23,949 !
2025-04-28 18:25:23,961 ! Checking for Rust toolchain....
2025-04-28 18:25:23,963 ! [end of output]


What did you already try to solve it?

I have Rust on my Raspberry Pi:


printer@creality3v3se:~/.octoprint/logs $ rustc --version
rustc 1.86.0 (05f9846f8 2025-03-31)

printer@creality3v3se:~/.octoprint/logs $ cargo --version
cargo 1.86.0 (adf9b6ad1 2025-02-28)


and here's the path:
printer@creality3v3se:~/.octoprint/logs $ echo $PATH
/home/printer/.local/bin:/home/printer/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games

Have you tried running in safe mode?

No

Did running in safe mode solve the problem?

Did not run in safe mode for upgrading.

Systeminfo Bundle

You can download this in OctoPrint's System Information dialog ... no bundle, no support!)
octoprint-systeminfo-20250428183410.zip (43.5 KB)

Additional information about your setup

OctoPrint version, OctoPi version, printer, firmware, browser, operating system, ... as much data as possible
Creality Ender 3 V3 SE. Raspberry Pi Zero W running Linux 6.1.21+ #1642

The only thing obvious that stands out is several retry attempts to download install a few of the dependency modules and this big red flag.

image

I'm assuming it does the same if you attempt to manually install the update from command line?

/home/printer/oprint/bin/pip install --upgrade --force-reinstall --no-cache-dir octoprint

I had sent this reply via email but it didn't appear here. Here's what I had sent:


Hi jneilliii
I know about the Unrecommended Raspberry Pi warning because it is installed on the underpowered Pi Zero W. I’ve been running on this Zero with camera for a while and it works well for me.

I have not attempted the reinstall from the command line. Should I? I guess doing it on the command line guarantes that the path does have Rust in the path.

cytan


Hi jneilliii,
I'm running the install via the command line right now. It actually got past the rust error message! But since the Zero is really underpowered, I guess it'll take a while (a day?) to build pydantic-core. I can see that both rustc and cargo are running using top ... I'm going to be patient and wait. Hopefully, I see some progress tomorrow morning.

I'll post success/failure tomorrow.

cytan

If it does end up stalling out and not completing you might have to increase the swap size. Had that recently with someone in my wemo plugin's issuesnd and linked them to another plugin that had similar issues with numpy. For reference, this issue in Bed Visualizer: https://github.com/jneilliii/OctoPrint-BedLevelVisualizer/issues/141#issuecomment-542227338...

Adding extra swap file:

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

this would create 1GB temporary swap file that can be used during installation. You can remove it after reboot.

Removing extra swap:

sudo swapoff -v /swapfile
sudo rm /swapfile

Thanks jneillii for the instructions. I'll use it when this compile crashes or chokes. Right now, after about 24 hours, it still hasn't technically crashed yet, but it's slowed to a complete crawl and is still trying to compile pydantic-core. Also, the green LED of the Zero is flashing, which possibly means that it's gone to zombie land. I'll wait until tomorrow to decide what to do or earlier, if I can figure out what the green flashing LED actually means.

cytan

Well, the pydantic-core compile completely stalled and my ssh session timed out and kicked me off. I had to reboot. I think I'll clone the SD card and then try again but with an increased swap file size. If this compile fails again, I'll install from scratch a new SD card with 1.11 on it and then copy the old settings over.

The fun continues ...
cytan