nebhead / PiFire

PiFire is a Smart WiFi enabled controller for your pellet smoker / grill.
https://nebhead.github.io/PiFire-Pages
MIT License
82 stars 31 forks source link

Updater fails to complete update from 1.8.0-dev11 to 1.9.0-dev3 (scikit-learn version conflict) #203

Open ghandye opened 1 month ago

ghandye commented 1 month ago

Describe the bug Was running 1.8.0-dev11, and attempted to update to 1.9.0-dev3 since I'm already in the development branch.

Updater hangs on this screen forever:

Capture

This traceback appears in webapp.err.log:

Traceback (most recent call last):
  File "/usr/local/bin/pifire/updater.py", line 499, in <module>
    install_dependencies(current_version, current_build)
  File "/usr/local/bin/pifire/updater.py", line 316, in install_dependencies
    dist = pkg_resources.get_distribution(module)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 466, in get_distribution
    dist = get_provider(dist)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 342, in get_provider
    return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 628, in find
    raise VersionConflict(dist, req)
pkg_resources.VersionConflict: (scikit-learn 1.3.0 (/usr/local/lib/python3.9/dist-packages), Requirement.parse('scikit-learn==1.4.2'))

I can refresh and attempt to repeat the process, but I get the same result.

To Reproduce Steps to reproduce the behavior: Update from 1.8.0-dev11 to 1.9.0-dev3 using webapp updater

Expected behavior Update to latest development version with no errors.

Screenshots See above.

PiFire Version: Current: 1.8.0-dev11 Target: 1.9.0-dev3

Additional context Here's the full output from the initial updater run:

 - Attempting an update on branch development
 - HEAD is now at b897767 Bump Build Number
Updating b897767..b8d55cc
Fast-forward
 .github/workflows/static.yml                       |   43 +
 .gitignore                                         |   13 +-
 README.md                                          |   16 +-
 app.py                                             |  148 +-
 auto-install/install.sh                            |   34 +-
 auto-install/requirements.txt                      |   17 +
 auto-install/supervisor/control.conf               |    1 +
 board-config.py                                    |   91 +-
 common/common.py                                   |  122 +-
 control.py                                         |   91 +-
 dashboard/basic.json                               |    2 +-
 dashboard/default.json                             |   47 +-
 display/base_240x320.py                            |   37 +-
 display/base_flex.py                               |  162 +-
 display/dsi_800x480t.json                          | 1672 ++++++++++++++------
 display/dsi_800x480t.py                            |  188 ++-
 display/{flexobject_pil.py => flexobject.py}       |  823 ++++++----
 display/flexobject_pygame.py                       |   48 -
 display/protoflex.py                               |  423 +++++
 display/protoflex_320x240.json                     | 1012 ++++++++++++
 display/protoflex_800x480.json                     | 1188 ++++++++++++++
 display/ssd1306b.py                                |   10 +-
 display/st7789v_240x320.py                         |   75 +
 distance/vl53l0x.py                                |   10 +-
 gh-pages/index.html                                |   39 +
 gh-pages/pifire-logo.png                           |  Bin 0 -> 10459 bytes
 grillplat/prototype.py                             |    6 +
 grillplat/raspberry_pi_all.py                      |   13 +-
 notify/notifications.py                            |    9 +-
 probes/base.py                                     |   16 +-
 probes/disabled.py                                 |   55 +
 probes/main.py                                     |   47 +-
 static/img/ui/manual_mode_instructions.png         |  Bin 0 -> 35689 bytes
 static/img/ui/manual_mode_pwm.png                  |  Bin 0 -> 2022 bytes
 static/img/wizard/dsi_touch.png                    |  Bin 18386 -> 15658 bytes
 static/img/wizard/dsi_touch.xcf                    |  Bin 38241 -> 30960 bytes
 static/img/wizard/{pcb_4.0.1.png => pcb_4.x.x.png} |  Bin
 static/img/wizard/{pcb_4.0.1.xcf => pcb_4.x.x.xcf} |  Bin
 static/img/wizard/protoflex.png                    |  Bin 0 -> 12468 bytes
 static/js/control_panel.js                         |  148 +-
 static/js/dash_basic.js                            |   27 +-
 static/js/dash_default.js                          |   74 +-
 static/js/manual.js                                |   61 +
 templates/_macro_control_panel.html                |   59 +
 templates/_macro_dash_basic.html                   |    6 +-
 templates/_macro_dash_default.html                 |    9 +-
 templates/_macro_generic_config.html               |   77 +
 templates/_macro_settings.html                     |   16 +-
 templates/_macro_wizard_card.html                  |   81 +-
 templates/dash_basic.html                          |   64 +-
 templates/dash_default.html                        |   99 +-
 templates/manual.html                              |  116 +-
 templates/wizard.html                              |    9 +-
 updater/post-update-message.html                   |  129 +-
 updater/updater_manifest.json                      |  249 +--
 wizard.py                                          |   71 +-
 wizard/ds18b20.sh                                  |   10 +-
 wizard/pwm_rpi_platform.sh                         |   14 +-
 wizard/wizard_manifest.json                        |  278 ++--
 59 files changed, 6294 insertions(+), 1761 deletions(-)
 create mode 100644 .github/workflows/static.yml
 create mode 100644 auto-install/requirements.txt
 rename display/{flexobject_pil.py => flexobject.py} (69%)
 delete mode 100644 display/flexobject_pygame.py
 create mode 100644 display/protoflex.py
 create mode 100644 display/protoflex_320x240.json
 create mode 100644 display/protoflex_800x480.json
 create mode 100644 display/st7789v_240x320.py
 create mode 100644 gh-pages/index.html
 create mode 100644 gh-pages/pifire-logo.png
 create mode 100644 probes/disabled.py
 create mode 100644 static/img/ui/manual_mode_instructions.png
 create mode 100644 static/img/ui/manual_mode_pwm.png
 rename static/img/wizard/{pcb_4.0.1.png => pcb_4.x.x.png} (100%)
 rename static/img/wizard/{pcb_4.0.1.xcf => pcb_4.x.x.xcf} (100%)
 create mode 100644 static/img/wizard/protoflex.png
 create mode 100644 static/js/manual.js
 create mode 100644 templates/_macro_generic_config.html

 - Calculating Python & Package Dependencies

Add any other context about the problem here.

Always test updates after your planned grilling for the day! 😆 (Fortunately I thought of this ahead of time)