cmuche / octoprint-timelapseplus

Timelapse+ is a powerful yet lightweight plugin to stabilize, capture, enhance and render your print timelapses.
https://plugins.octoprint.org/plugins/timelapseplus
24 stars 3 forks source link

With an actual octoprint release it can't be installed #147

Open fly74 opened 2 weeks ago

fly74 commented 2 weeks ago

Hi Chris, with an actual octoprint release it can't be installed.

2024-09-13 19:49:22,980 - octoprint.startup - INFO - ******************************************************************************
2024-09-13 19:49:22,980 - octoprint.startup - INFO - Starting OctoPrint 1.10.2
2024-09-13 19:49:22,981 - octoprint.startup - INFO - ******************************************************************************
2024-09-13 19:49:23,022 - octoprint.util.connectivity.connectivity_checker - INFO - Connectivity changed from offline to online
2024-09-13 19:49:23,037 - octoprint.util.connectivity.connectivity_checker - INFO - Connectivity state is currently: online
2024-09-13 19:49:23,037 - octoprint.util.connectivity.connectivity_checker - INFO - Connecting to 1.1.1.1:53 is working
2024-09-13 19:49:23,037 - octoprint.util.connectivity.connectivity_checker - INFO - Resolving octoprint.org is working
2024-09-13 19:49:23,038 - octoprint.plugin.core - INFO - Loading plugins from /home/op/.local/lib/python3.12/site-packages/octoprint/plugins, /home/op/.octoprint/plugins and installed plugin packages...
2024-09-13 19:49:23,255 - octoprint.plugin.core - INFO - Plugin Pi Support Plugin (2023.10.10) did not pass check, not loading.
2024-09-13 19:49:23,258 - octoprint.plugin.core - ERROR - Error loading plugin timelapseplus
Traceback (most recent call last):
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/plugin/core.py", line 1297, in _import_plugin
    module = _load_module(module_name, spec)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/plugin/core.py", line 52, in _load_module
    return imp.load_module(name, f, filename, details)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/vendor/imp.py", line 238, in load_module
    return load_package(name, filename)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/vendor/imp.py", line 212, in load_package
    return _load(spec)
           ^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 966, in _load
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/home/op/.local/lib/python3.12/site-packages/octoprint_timelapseplus/__init__.py", line 14, in <module>
    from .apiController import ApiController
  File "/home/op/.local/lib/python3.12/site-packages/octoprint_timelapseplus/apiController.py", line 10, in <module>
    from PIL import Image, ImageDraw
ModuleNotFoundError: No module named 'PIL'
2024-09-13 19:49:23,264 - octoprint.plugin.core - INFO - Found 19 plugin(s) providing 19 mixin implementations, 39 hook handlers
2024-09-13 19:49:23,271 - octoprint.server.heartbeat - INFO - Starting server heartbeat, 900.0s interval
2024-09-13 19:49:23,283 - octoprint.server - INFO - Intermediary server started
2024-09-13 19:49:23,284 - octoprint.filemanager.storage - INFO - Initializing the file metadata for /home/op/.octoprint/uploads...
2024-09-13 19:49:23,285 - octoprint.filemanager.storage - INFO - ... file metadata for /home/op/.octoprint/uploads initialized successfully.
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin achievements: PLUGIN_ACHIEVEMENTS_VIEW (needs: "Need(method='role', value='plugin_achievements_view')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin achievements: PLUGIN_ACHIEVEMENTS_RESET (needs: "Need(method='role', value='plugin_achievements_reset')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin action_command_notification: PLUGIN_ACTION_COMMAND_NOTIFICATION_SHOW (needs: "Need(method='role', value='plugin_action_command_notification_show')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin action_command_notification: PLUGIN_ACTION_COMMAND_NOTIFICATION_CLEAR (needs: "Need(method='role', value='plugin_action_command_notification_clear')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin action_command_prompt: PLUGIN_ACTION_COMMAND_PROMPT_INTERACT (needs: "Need(method='role', value='plugin_action_command_prompt_interact')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin announcements: PLUGIN_ANNOUNCEMENTS_READ (needs: "Need(method='role', value='plugin_announcements_read')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin announcements: PLUGIN_ANNOUNCEMENTS_MANAGE (needs: "Need(method='role', value='plugin_announcements_manage'), Need(method='role', value='plugin_announcements_read')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin appkeys: PLUGIN_APPKEYS_ADMIN (needs: "Need(method='role', value='plugin_appkeys_admin')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin appkeys: PLUGIN_APPKEYS_GRANT (needs: "Need(method='role', value='plugin_appkeys_user')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin backup: PLUGIN_BACKUP_CREATE (needs: "Need(method='role', value='plugin_backup_create')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin file_check: PLUGIN_FILE_CHECK_RUN (needs: "Need(method='role', value='plugin_file_check_run')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin firmware_check: PLUGIN_FIRMWARE_CHECK_DISPLAY (needs: "Need(method='role', value='plugin_firmware_check_display')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin logging: PLUGIN_LOGGING_MANAGE (needs: "Need(method='role', value='plugin_logging_manage')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin pluginmanager: PLUGIN_PLUGINMANAGER_LIST (needs: "Need(method='role', value='plugin_pluginmanager_list')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin pluginmanager: PLUGIN_PLUGINMANAGER_MANAGE (needs: "Need(method='role', value='plugin_pluginmanager_manage')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin pluginmanager: PLUGIN_PLUGINMANAGER_INSTALL (needs: "Need(method='role', value='plugin_pluginmanager_manage'), Need(method='role', value='plugin_pluginmanager_install')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin softwareupdate: PLUGIN_SOFTWAREUPDATE_CHECK (needs: "Need(method='role', value='plugin_softwareupdate_check')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin softwareupdate: PLUGIN_SOFTWAREUPDATE_UPDATE (needs: "Need(method='role', value='plugin_softwareupdate_update')")
2024-09-13 19:49:23,285 - octoprint.server - INFO - Added new permission from plugin softwareupdate: PLUGIN_SOFTWAREUPDATE_CONFIGURE (needs: "Need(method='role', value='plugin_softwareupdate_configure')")
2024-09-13 19:49:23,287 - octoprint.plugins.achievements - INFO - Loading data from /home/op/.octoprint/data/achievements/data.json
2024-09-13 19:49:23,288 - octoprint.plugins.achievements - INFO - Loading data for None from /home/op/.octoprint/data/achievements/2024.json
2024-09-13 19:49:23,380 - octoprint.util.pip - INFO - Using "/usr/bin/python3.12 -m pip" as command to invoke pip
2024-09-13 19:49:23,467 - octoprint.util.pip - INFO - Version of pip is 24.2
2024-09-13 19:49:23,500 - octoprint.util.pip - INFO - pip installs to /usr/lib/python3.12/site-packages (writable -> no), --user flag needed -> yes, virtual env -> no
2024-09-13 19:49:23,500 - octoprint.util.pip - INFO - ==> pip ok -> yes
2024-09-13 19:49:23,501 - octoprint.plugins.softwareupdate - INFO - Loaded version cache from disk
grep (GNU grep) 3.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Haertel and others, see <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>.
2024-09-13 19:49:23,503 - octoprint.plugins.file_check - INFO - Native grep available: True
2024-09-13 19:49:23,503 - octoprint.plugin.core - INFO - Initialized 19 plugin implementation(s)
2024-09-13 19:49:23,506 - octoprint - INFO - Installing webcam compat overlay for configured default webcam <octoprint.webcams.ProvidedWebcam object at 0x7fbfe3028ce0>
2024-09-13 19:49:23,506 - octoprint.plugin.core - INFO - 19 plugin(s) registered with the system:
|  Achievements Plugin (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint/plugins/achievements
|  Action Command Notification Support (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint/plugins/action_command_notification
|  Action Command Prompt Support (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint/plugins/action_command_prompt
|  Announcement Plugin (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint/plugins/announcements
|  Anonymous Usage Tracking (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint/plugins/tracking
|  Application Keys Plugin (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint/plugins/appkeys
|  Backup & Restore (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint/plugins/backup
|  Classic Webcam (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint/plugins/classicwebcam
|  Core Wizard (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint/plugins/corewizard
|  Discovery (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint/plugins/discovery
|  Error Tracking (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint/plugins/errortracking
|  Event Manager (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint/plugins/eventmanager
|  File Check (2024.3.27) (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint_file_check
|  Firmware Check (2021.10.11) (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint_firmware_check
|  GCode Viewer (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint/plugins/gcodeviewer
|  Logging (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint/plugins/logging
|  Plugin Manager (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint/plugins/pluginmanager
|  Software Update (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint/plugins/softwareupdate
|  Virtual Printer (bundled) = /home/op/.local/lib/python3.12/site-packages/octoprint/plugins/virtual_printer
Prefix legend: ! = disabled, # = blacklisted, * = incompatible
2024-09-13 19:49:23,506 - octoprint.environment - INFO - Detected environment is Python 3.12.4 under Linux (linux). Details:
|  hardware:
|    cores: 8
|    freq: 0.0
|    ram: 16702537728
|  os:
|    bits: 64
|    id: linux
|    platform: linux
|  python:
|    pip: '24.2'
|    version: 3.12.4
2024-09-13 19:49:23,507 - octoprint.server - INFO - Reset webasset folder /home/op/.octoprint/generated/webassets...
2024-09-13 19:49:23,507 - octoprint.server - INFO - Reset webasset folder /home/op/.octoprint/generated/.webassets-cache...
2024-09-13 19:49:23,507 - octoprint.server - INFO - Reset webasset folder /home/op/.octoprint/generated/.webassets-manifest.json...
2024-09-13 19:49:23,562 - octoprint.server - INFO - Shutting down intermediary server...
::ffff:192.168.0.2 - - [13/Sep/2024 19:49:24] "GET /sockjs/info?t=1726249764499 HTTP/1.1" 404 -
2024-09-13 19:49:24,876 - octoprint.server - INFO - Intermediary server shut down
2024-09-13 19:49:24,877 - octoprint.events - INFO - Processing startup event, this is our first event
2024-09-13 19:49:24,877 - octoprint.events - INFO - Adding 1 events to queue that were held back before startup event
2024-09-13 19:49:24,877 - octoprint.filemanager - INFO - Adding backlog items from all storage types to analysis queue...
2024-09-13 19:49:24,877 - octoprint.filemanager - INFO - Added 0 items from storage type "local" to analysis queue
2024-09-13 19:49:24,883 - octoprint.server - INFO - Starting autorefresh of serial port list
2024-09-13 19:49:24,885 - octoprint.plugins.pluginmanager - INFO - Loaded plugin repository data from disk, was still valid
2024-09-13 19:49:24,906 - octoprint.plugins.softwareupdate - INFO - Fetching check overlays from https://plugins.octoprint.org/update_check_overlay.json
2024-09-13 19:49:24,912 - octoprint.server.util.watchdog - INFO - Running initial scan on watched folder...
2024-09-13 19:49:24,925 - octoprint.plugins.pluginmanager - INFO - Loaded notice data from disk, was still valid
2024-09-13 19:49:24,926 - octoprint.server.util.watchdog - INFO - ... initial scan done.
2024-09-13 19:49:24,927 - octoprint.server - INFO - Serial port list was updated, refreshing the port list in the frontend
2024-09-13 19:49:25,735 - octoprint.plugins.discovery - INFO - Registered 'OctoPrint instance on localhost._http._tcp.local.' for _http._tcp.local.
2024-09-13 19:49:26,542 - octoprint.plugins.discovery - INFO - Registered 'OctoPrint instance on localhost._octoprint._tcp.local.' for _octoprint._tcp.local.
2024-09-13 19:49:26,543 - octoprint.plugins.discovery - INFO - Registered OctoPrint instance on localhost for SSDP
2024-09-13 19:49:26,545 - octoprint.server - INFO - Listening on http://0.0.0.0:5000 and http://[::]:5000
2024-09-13 19:49:26,550 - octoprint.plugins.pluginmanager - INFO - Loaded plugin repository data from disk, was still valid
2024-09-13 19:49:26,589 - octoprint.plugins.pluginmanager - INFO - Loaded notice data from disk, was still valid
2024-09-13 19:49:26,655 - octoprint.util.pip - INFO - Using "/usr/bin/python3.12 -m pip" as command to invoke pip
2024-09-13 19:49:26,655 - octoprint.util.pip - INFO - pip installs to /usr/lib/python3.12/site-packages (writable -> no), --user flag needed -> yes, virtual env -> no
2024-09-13 19:49:26,655 - octoprint.util.pip - INFO - ==> pip ok -> yes
2024-09-13 19:49:26,656 - octoprint.plugins.softwareupdate - INFO - Minimum free storage across all update relevant locations is 11.6GB. That is considered sufficient for updating.
2024-09-13 19:49:26,673 - octoprint.server.preemptive_cache - INFO - Preemptively caching / (ui _default) for {'base_url': 'http://192.168.0.212:5000/', 'path': '/', 'query_string': 'l10n=de'}
2024-09-13 19:49:26,896 - octoprint.server.util.sockjs - INFO - New connection from client: 192.168.0.2
2024-09-13 19:49:26,900 - octoprint.server.util.flask - INFO - Passively logging in user op from 192.168.0.2
2024-09-13 19:49:26,900 - octoprint.access.users - INFO - Logged in user: op
2024-09-13 19:49:26,921 - octoprint.server.util.sockjs - INFO - User op logged in on the socket from client 192.168.0.2
2024-09-13 19:49:27,366 - octoprint.server.preemptive_cache - INFO - ... done in 0.69s
2024-09-13 19:49:35,160 - octoprint.server.util.flask - INFO - Passively logging in user op from 192.168.0.2
2024-09-13 19:49:35,160 - octoprint.access.users - INFO - Logged in user: op
2024-09-13 19:49:35,168 - octoprint.server.util.sockjs - INFO - Client connection closed: 192.168.0.2
2024-09-13 19:49:35,310 - octoprint.server.util.sockjs - INFO - New connection from client: 192.168.0.2
2024-09-13 19:49:35,314 - octoprint.server.util.flask - INFO - Passively logging in user op from 192.168.0.2
2024-09-13 19:49:35,314 - octoprint.access.users - INFO - Logged in user: op
2024-09-13 19:49:35,423 - octoprint.server.util.sockjs - INFO - User op logged in on the socket from client 192.168.0.2
2024-09-13 19:49:42,338 - octoprint.access.users - INFO - Logged in user: op
2024-09-13 19:49:42,338 - octoprint.server.api - INFO - Actively logging in user op from 192.168.0.2
2024-09-13 19:49:42,343 - octoprint.server.util.sockjs - INFO - User op logged in on the socket from client 192.168.0.2
2024-09-13 19:49:42,343 - octoprint.server.util.sockjs - INFO - Client connection closed: 192.168.0.2
2024-09-13 19:49:42,547 - octoprint.server.util.sockjs - INFO - New connection from client: 192.168.0.2
2024-09-13 19:49:42,553 - octoprint.server.util.flask - INFO - Passively logging in user op from 192.168.0.2
2024-09-13 19:49:42,554 - octoprint.access.users - INFO - Logged in user: op
2024-09-13 19:49:42,557 - octoprint.server.util.sockjs - INFO - User op logged in on the socket from client 192.168.0.2
2024-09-13 19:49:48,297 - octoprint.plugins.pluginmanager - INFO - Installing plugin from https://github.com/cmuche/octoprint-timelapseplus/archive/master.zip
2024-09-13 19:49:48,344 - octoprint.plugin.core - INFO - Plugin Pi Support Plugin (2023.10.10) did not pass check, not loading.
2024-09-13 19:49:48,348 - octoprint.plugin.core - ERROR - Error loading plugin timelapseplus
Traceback (most recent call last):
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/plugin/core.py", line 1297, in _import_plugin
    module = _load_module(module_name, spec)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/plugin/core.py", line 52, in _load_module
    return imp.load_module(name, f, filename, details)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/vendor/imp.py", line 238, in load_module
    return load_package(name, filename)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/vendor/imp.py", line 212, in load_package
    return _load(spec)
           ^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 966, in _load
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/home/op/.local/lib/python3.12/site-packages/octoprint_timelapseplus/__init__.py", line 14, in <module>
    from .apiController import ApiController
  File "/home/op/.local/lib/python3.12/site-packages/octoprint_timelapseplus/apiController.py", line 10, in <module>
    from PIL import Image, ImageDraw
ModuleNotFoundError: No module named 'PIL'
2024-09-13 19:49:52,587 - octoprint.plugins.pluginmanager - INFO - Plugin to be installed from https://github.com/cmuche/octoprint-timelapseplus/archive/master.zip was already installed, forcing a reinstall
2024-09-13 19:49:53,859 - octoprint.plugin.core - INFO - Plugin Pi Support Plugin (2023.10.10) did not pass check, not loading.
2024-09-13 19:49:53,862 - octoprint.plugin.core - ERROR - Error loading plugin timelapseplus
Traceback (most recent call last):
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/plugin/core.py", line 1297, in _import_plugin
    module = _load_module(module_name, spec)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/plugin/core.py", line 52, in _load_module
    return imp.load_module(name, f, filename, details)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/vendor/imp.py", line 238, in load_module
    return load_package(name, filename)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/vendor/imp.py", line 212, in load_package
    return _load(spec)
           ^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 966, in _load
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/home/op/.local/lib/python3.12/site-packages/octoprint_timelapseplus/__init__.py", line 14, in <module>
    from .apiController import ApiController
  File "/home/op/.local/lib/python3.12/site-packages/octoprint_timelapseplus/apiController.py", line 10, in <module>
    from PIL import Image, ImageDraw
ModuleNotFoundError: No module named 'PIL'
2024-09-13 19:49:53,865 - octoprint.plugins.pluginmanager - WARNING - The plugin was installed successfully, but couldn't be found afterwards to initialize properly during runtime. Please restart OctoPrint.
2024-09-13 19:51:56,946 - octoprint.plugins.pluginmanager - INFO - Installing plugin from https://github.com/cmuche/octoprint-timelapseplus/archive/master.zip
2024-09-13 19:51:56,987 - octoprint.plugin.core - INFO - Plugin Pi Support Plugin (2023.10.10) did not pass check, not loading.
2024-09-13 19:51:56,991 - octoprint.plugin.core - ERROR - Error loading plugin timelapseplus
Traceback (most recent call last):
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/plugin/core.py", line 1297, in _import_plugin
    module = _load_module(module_name, spec)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/plugin/core.py", line 52, in _load_module
    return imp.load_module(name, f, filename, details)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/vendor/imp.py", line 238, in load_module
    return load_package(name, filename)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/vendor/imp.py", line 212, in load_package
    return _load(spec)
           ^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 966, in _load
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/home/op/.local/lib/python3.12/site-packages/octoprint_timelapseplus/__init__.py", line 14, in <module>
    from .apiController import ApiController
  File "/home/op/.local/lib/python3.12/site-packages/octoprint_timelapseplus/apiController.py", line 10, in <module>
    from PIL import Image, ImageDraw
ModuleNotFoundError: No module named 'PIL'
2024-09-13 19:52:01,285 - octoprint.plugins.pluginmanager - INFO - Plugin to be installed from https://github.com/cmuche/octoprint-timelapseplus/archive/master.zip was already installed, forcing a reinstall
2024-09-13 19:52:02,555 - octoprint.plugin.core - INFO - Plugin Pi Support Plugin (2023.10.10) did not pass check, not loading.
2024-09-13 19:52:02,558 - octoprint.plugin.core - ERROR - Error loading plugin timelapseplus
Traceback (most recent call last):
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/plugin/core.py", line 1297, in _import_plugin
    module = _load_module(module_name, spec)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/plugin/core.py", line 52, in _load_module
    return imp.load_module(name, f, filename, details)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/vendor/imp.py", line 238, in load_module
    return load_package(name, filename)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/op/.local/lib/python3.12/site-packages/octoprint/vendor/imp.py", line 212, in load_package
    return _load(spec)
           ^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 966, in _load
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/home/op/.local/lib/python3.12/site-packages/octoprint_timelapseplus/__init__.py", line 14, in <module>
    from .apiController import ApiController
  File "/home/op/.local/lib/python3.12/site-packages/octoprint_timelapseplus/apiController.py", line 10, in <module>
    from PIL import Image, ImageDraw
ModuleNotFoundError: No module named 'PIL'
2024-09-13 19:52:02,561 - octoprint.plugins.pluginmanager - WARNING - The plugin was installed successfully, but couldn't be found afterwards to initialize properly during runtime. Please restart OctoPrint.