OllisGit / OctoPrint-DryRun

OctoPrint-Plugin
12 stars 0 forks source link

Missing dependency 'Six' #10

Open RoboMagus opened 2 years ago

RoboMagus commented 2 years ago

In gcode_parser.py line 25 there is a reference to python module six that seems not to be listed in setup.py.

See this issue in the octoprint repo.

jwygralak67 commented 1 year ago

This issue still appears to exist. I just attempted to install DryRun plugin on a newly installed OctoPrint 1.8.7 instance. The plugin manager showed that the installation was successful, but after restarting, the plugin did not show up in the main UI screen, the plugin manager, nor the plugins list.

Searching the octoprint.log file I found the error messages:

2023-04-24 10:53:15,984 - octoprint.plugin.core - ERROR - Error loading plugin DryRun Traceback (most recent call last): File "/home/jdubya/oprint/lib/python3.9/site-packages/octoprint/plugin/core.py", line 1274, in _import_plugin module = _load_module(module_name, spec) File "/home/jdubya/oprint/lib/python3.9/site-packages/octoprint/plugin/core.py", line 52, in _load_module return imp.load_module(name, f, filename, details) File "/home/jdubya/oprint/lib/python3.9/site-packages/octoprint/vendor/imp.py", line 238, in load_module return load_package(name, filename) File "/home/jdubya/oprint/lib/python3.9/site-packages/octoprint/vendor/imp.py", line 212, in load_package return _load(spec) File "<frozen importlib._bootstrap>", line 711, in _load File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 790, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/home/jdubya/oprint/lib/python3.9/site-packages/octoprint_DryRun/__init__.py", line 9, in <module> from octoprint_DryRun.gcode_parser import Commands, ParsedCommand, Response File "/home/jdubya/oprint/lib/python3.9/site-packages/octoprint_DryRun/gcode_parser.py", line 25, in <module> from six import string_types ModuleNotFoundError: No module named 'six'

After manually doing a 'pip install six' in the oprint venv, then restarting Octoprint, the plugin shows up in the UI and works.

brandoncreed commented 10 months ago

I assume this is related to the code being based on octolapse the developer probably assumed the module was going to be available since it was when octolapse was installed. I've noticed that installing octolapse will fix this behavior even if you disable it after install. Since the developer hasn't checked in a new version in almost 4 years I assume this will be unlikely to be fixed and one of these workarounds is neccessary.