Octoprint-venv-tool fails at FormerLurker/Octolapse install step

What is the problem?

octoprint-venv-tool fails at FormerLurker/Octolapse install step

What did you already try to solve it?

I retried the operation, looking for logs, but I don't know where to find them.

Have you tried running in safe mode?

NO. Octoprint is stopped as per the documentation.

Did running in safe mode solve the problem?

N/A

Systeminfo Bundle

You can download this in OctoPrint's System Information dialog ... no bundle, no support!)

octoprint-systeminfo-20250424123012.zip (1.1 MB)

Additional information about your setup

OctoPrint version, OctoPi version, printer, firmware, browser, operating system, ... as much data as possible

On Raspberry Pi Buster, with all the latest updates available for this very old OS...
I started to migrate to python 3.13.3 using my favorite pyenv approach.
e.g.

$ sudo apt-get install libbz2-dev libncurses-dev libreadline-dev libsqlite3-dev tk-dev liblzma-dev
$  git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$  cd ~/.pyenv && src/configure && make -C src
$  echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$  echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$  echo 'eval "$(pyenv init -)"' >> ~/.bashrc

Logout and back in

$ pyenv install --list | grep '[[:blank:]]3\.'
$ pyenv install 3.13.3
$ pyenv global 3.13.3

$ python --version
Python 3.13.3

$ pip install --upgrade pip

Then I proceeded with the Octopi migration...

pi@octopip:~ $ sudo service octoprint stop

pi@octopip:~ $ ./octoprint-venv-tool recreate-venv /home/pi/oprint --python `which python3`

Creating plugin export at /tmp/plugin-export-z8hs3mld.json...

Backing up existing venv to /home/pi/oprint.bck...

Creating new venv at /home/pi/oprint using python at /home/pi/.pyenv/shims/python3

Python at /home/pi/.pyenv/shims/python3 has version (3, 13, 3)

Creating venv from /home/pi/.pyenv/shims/python3...

Installing pip...

Installing wheel...

Installing OctoPrint...

Installing plugin export /tmp/plugin-export-z8hs3mld.json into recreated venv /home/pi/oprint...

Installing https://github.com/paukstelis/OctoPrint-Cancelobject/archive/master.zip...

Installing https://github.com/cesarvandevelde/OctoPrint-M73Progress/archive/master.zip...

Installing https://github.com/FormerLurker/Octolapse/archive/master.zip...

Restoring backed up venv...

Error running recreate-venv: Command '('/home/pi/oprint/bin/python', '-m', 'pip', 'install', 'https://github.com/FormerLurker/Octolapse/archive/master.zip')' returned non-zero exit status 1.

I don't know where to look to find further logs about the FormerLurker/Octolapse install issue.

Is it this bug?

The problematic plugin was disabled anyway, so I have uninstalled the plugin.
Attempting the python migration again now.

Maybe add an option to octoprint-venv-tool to skip disabled plugins?
That would be oh-so-convenient. =D

We're good!

pi@octopip:~ $ ./octoprint-venv-tool recreate-venv /home/pi/oprint --python `which python3`
Creating plugin export at /tmp/plugin-export-hwg18qls.json...

Backing up existing venv to /home/pi/oprint.bck...

Creating new venv at /home/pi/oprint using python at /home/pi/.pyenv/shims/python3
Python at /home/pi/.pyenv/shims/python3 has version (3, 13, 3)
Creating venv from /home/pi/.pyenv/shims/python3...
Installing pip...
Installing wheel...
Installing OctoPrint...

Installing plugin export /tmp/plugin-export-hwg18qls.json into recreated venv /home/pi/oprint...
Installing https://github.com/cesarvandevelde/OctoPrint-M73Progress/archive/master.zip...
Installing https://github.com/eyal0/OctoPrint-PrintTimeGenius/archive/master.zip...
Installing https://github.com/paukstelis/OctoPrint-Cancelobject/archive/master.zip...

Recreation of /home/pi/oprint successful, removing backup...
... done!

/home/pi/oprint has been recreated with /home/pi/.pyenv/shims/python3!

It would still be helpful to keep a log file around that has the finer details of what went wrong with the problematic plugin.
It would still be helpful to have an option to skip disabled plugins during the python migration.

1 Like