AlexVerrico / octoprint-stats

Stats for your octoprint instance. Mirrored from https://github.com/amsbr/OctoPrint-Stats originally
14 stars 8 forks source link

[Bug] Unable to install the plugin #28

Closed jaytonic closed 3 years ago

jaytonic commented 3 years ago

Describe the bug I wanted to install your plugin, so I upgraded my install to python 3. Then I installed your plugin dependencies and then the plugin. After reboot, no stats tab is present and I don't find the plugin in the plugin list

To Reproduce Steps to reproduce the behavior:

  1. Install dependencies sudo apt install libatlas-base-dev
  2. Go to plugin manager, look for "Printer statistics"
  3. Install it
  4. Reboot
  5. Check the plugin list

I also tried to install the plugin from the link, no luck either

Expected behavior Plugin is installed, tab is present and unable to reinstall

Screenshots If applicable, add screenshots to help explain your problem. Once installed, the reboot message is weird: rpi fail

Environment information:

Additional context The install log:

Installing plugin "Printer Statistics" from https://github.com/AlexVerrico/octoprint-stats/archive/master.zip...
/home/pi/oprint/bin/python -m pip --disable-pip-version-check install file:///tmp/tmp7up_9gs9/octoprint-stats-master.zip --no-cache-dir
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Processing /tmp/tmp7up_9gs9/octoprint-stats-master.zip
Requirement already satisfied: OctoPrint in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint-Stats==3.1.2) (1.5.3)
Requirement already satisfied: tinydb in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint-Stats==3.1.2) (4.4.0)
Requirement already satisfied: pandas in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint-Stats==3.1.2) (1.2.3)
Requirement already satisfied: numpy in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint-Stats==3.1.2) (1.19.2)
Requirement already satisfied: netifaces<1,>=0.10.9 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (0.10.9)
Requirement already satisfied: watchdog==0.10.4 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (0.10.4)
Requirement already satisfied: unidecode<0.05,>=0.04.14 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (0.4.21)
Requirement already satisfied: semantic-version<3,>=2.8.5 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (2.8.5)
Requirement already satisfied: psutil<6,>=5.7 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (5.8.0)
Requirement already satisfied: rsa==4.0 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (4.0)
Requirement already satisfied: Click<8,>=7.1.2 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (7.1.2)
Requirement already satisfied: Flask-Login<0.6,>=0.5 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (0.5.0)
Requirement already satisfied: OctoPrint-FileCheck>=2020.08.07 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (2021.2.23)
Requirement already satisfied: sarge==0.1.5post0 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (0.1.5.post0)
Requirement already satisfied: netaddr<1,>=0.7.19 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (0.8.0)
Requirement already satisfied: OctoPrint-FirmwareCheck>=2020.09.23 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (2021.2.4)
Requirement already satisfied: markdown<3.2,>=3.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (3.1.1)
Requirement already satisfied: frozendict<2,>=1.2 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (1.2)
Requirement already satisfied: zeroconf<0.25,>=0.24 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (0.24.5)
Requirement already satisfied: sentry-sdk<1,>=0.15.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (0.20.3)
Requirement already satisfied: wrapt<2,>=1.12.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (1.12.1)
Requirement already satisfied: Flask-Assets<3,>=2.0 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (2.0)
Requirement already satisfied: pkginfo<2,>=1.5.0.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (1.7.0)
Requirement already satisfied: emoji<1,>=0.5.4 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (0.6.0)
Requirement already satisfied: itsdangerous<2,>=1.1.0 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (1.1.0)
Requirement already satisfied: requests<3,>=2.23.0 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (2.25.1)
Requirement already satisfied: markupsafe<2.0,>=1.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (1.1.1)
Requirement already satisfied: filetype<2,>=1.0.7 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (1.0.7)
Requirement already satisfied: tornado==5.1.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (5.1.1)
Requirement already satisfied: PyYAML<6,>=5.3.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (5.4.1)
Requirement already satisfied: websocket-client<1,>=0.57 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (0.58.0)
Requirement already satisfied: werkzeug<2,>=1.0.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (1.0.1)
Requirement already satisfied: Flask-Babel<2,>=1.0 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (1.0.0)
Requirement already satisfied: blinker<2,>=1.4 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (1.4)
Requirement already satisfied: flask<2,>=1.1.2 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (1.1.2)
Requirement already satisfied: future<1,>=0.18.2 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (0.18.2)
Requirement already satisfied: regex!=2018.11.6 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (2020.11.13)
Requirement already satisfied: pylru<2,>=1.2 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (1.2.0)
Requirement already satisfied: pyserial<4,>=3.4 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (3.5)
Requirement already satisfied: feedparser<7,>=6.0.2 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (6.0.2)
Requirement already satisfied: cachelib<1,>=0.1 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (0.1.1)
Requirement already satisfied: Jinja2<3,>=2.11.2 in /home/pi/oprint/lib/python3.7/site-packages (from OctoPrint->OctoPrint-Stats==3.1.2) (2.11.3)
Requirement already satisfied: pyasn1>=0.1.3 in /home/pi/oprint/lib/python3.7/site-packages (from rsa==4.0->OctoPrint->OctoPrint-Stats==3.1.2) (0.4.8)
Requirement already satisfied: pathtools>=0.1.1 in /home/pi/oprint/lib/python3.7/site-packages (from watchdog==0.10.4->OctoPrint->OctoPrint-Stats==3.1.2) (0.1.2)
Requirement already satisfied: sgmllib3k in /home/pi/oprint/lib/python3.7/site-packages (from feedparser<7,>=6.0.2->OctoPrint->OctoPrint-Stats==3.1.2) (1.0.0)
Requirement already satisfied: webassets>=2.0 in /home/pi/oprint/lib/python3.7/site-packages (from Flask-Assets<3,>=2.0->OctoPrint->OctoPrint-Stats==3.1.2) (2.0)
Requirement already satisfied: Babel>=2.3 in /home/pi/oprint/lib/python3.7/site-packages (from Flask-Babel<2,>=1.0->OctoPrint->OctoPrint-Stats==3.1.2) (2.9.0)
Requirement already satisfied: pytz in /home/pi/oprint/lib/python3.7/site-packages (from Flask-Babel<2,>=1.0->OctoPrint->OctoPrint-Stats==3.1.2) (2021.1)
Requirement already satisfied: setuptools>=36 in /home/pi/oprint/lib/python3.7/site-packages (from markdown<3.2,>=3.1->OctoPrint->OctoPrint-Stats==3.1.2) (54.0.0)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /home/pi/oprint/lib/python3.7/site-packages (from requests<3,>=2.23.0->OctoPrint->OctoPrint-Stats==3.1.2) (1.26.3)
Requirement already satisfied: chardet<5,>=3.0.2 in /home/pi/oprint/lib/python3.7/site-packages (from requests<3,>=2.23.0->OctoPrint->OctoPrint-Stats==3.1.2) (4.0.0)
Requirement already satisfied: certifi>=2017.4.17 in /home/pi/oprint/lib/python3.7/site-packages (from requests<3,>=2.23.0->OctoPrint->OctoPrint-Stats==3.1.2) (2020.12.5)
Requirement already satisfied: idna<3,>=2.5 in /home/pi/oprint/lib/python3.7/site-packages (from requests<3,>=2.23.0->OctoPrint->OctoPrint-Stats==3.1.2) (2.10)
Requirement already satisfied: six in /home/pi/oprint/lib/python3.7/site-packages (from websocket-client<1,>=0.57->OctoPrint->OctoPrint-Stats==3.1.2) (1.15.0)
Requirement already satisfied: ifaddr in /home/pi/oprint/lib/python3.7/site-packages (from zeroconf<0.25,>=0.24->OctoPrint->OctoPrint-Stats==3.1.2) (0.1.7)
Requirement already satisfied: python-dateutil>=2.7.3 in /home/pi/oprint/lib/python3.7/site-packages (from pandas->OctoPrint-Stats==3.1.2) (2.8.1)
Building wheels for collected packages: OctoPrint-Stats
Building wheel for OctoPrint-Stats (setup.py): started
Building wheel for OctoPrint-Stats (setup.py): finished with status 'done'
Created wheel for OctoPrint-Stats: filename=OctoPrint_Stats-3.1.2-py3-none-any.whl size=870587 sha256=22992d232dd9fdde85a59b7e0edd1c51907aefb450c98f5127957ed8acd2995a
Stored in directory: /tmp/pip-ephem-wheel-cache-tku0m9db/wheels/ce/b5/b4/3bda1881fb70bf7dc96625d08e38eeba638538229e20e8d7fa
Successfully built OctoPrint-Stats
Installing collected packages: OctoPrint-Stats
Attempting uninstall: OctoPrint-Stats
Found existing installation: OctoPrint-Stats 3.1.2
Uninstalling OctoPrint-Stats-3.1.2:
Successfully uninstalled OctoPrint-Stats-3.1.2
Successfully installed OctoPrint-Stats-3.1.2
Done!
fnsign commented 3 years ago

I have the exact same isue.

jneilliii commented 3 years ago

Hey guys, if you are in a converted python 3 environment you may be able to get this working if you install the right system dependency. Try this and restart OctoPrint.

sudo apt install libatlas3-base
jneilliii commented 3 years ago

Helping a user in Discord, this is the error from octoprint.log that seems relevant.

2021-03-05 21:51:19,218 - octoprint.plugin.core - ERROR - Error loading plugin stats
Traceback (most recent call last):
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/plugin/core.py", line 1298, in _import_plugin
    module = _load_module(module_name, spec)
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/plugin/core.py", line 69, in _load_module
    return imp.load_module(name, f, filename, details)
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/vendor/imp.py", line 238, in load_module
    return load_package(name, filename)
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/vendor/imp.py", line 212, in load_package
    return _load(spec)
  File "<frozen importlib._bootstrap>", line 696, in _load
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint_stats/__init__.py", line 18, in <module>
    import pandas as pd
  File "/home/pi/oprint/lib/python3.7/site-packages/pandas/__init__.py", line 29, in <module>
    from pandas._libs import hashtable as _hashtable, lib as _lib, tslib as _tslib
  File "/home/pi/oprint/lib/python3.7/site-packages/pandas/_libs/__init__.py", line 13, in <module>
    from pandas._libs.interval import Interval
  File "pandas/_libs/interval.pyx", line 1, in init pandas._libs.interval
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 44 from C header, got 40 from PyObject
jneilliii commented 3 years ago

It seems recent panda versions might need newer version of numpy, so you guys might try the following command via SSH. That worked for the person we were helping out.

~/oprint/bin/pip install --upgrade numpy>=1.20.1
Willmac16 commented 3 years ago

I looks like you want at least 1.20.1 numpy since 1.19.4 showed the same issue.

fnsign commented 3 years ago

It seems recent panda versions might need newer version of numpy, so you guys might try the following command via SSH. That worked for the person we were helping out.

~/oprint/bin/pip install --upgrade numpy>=1.20.1

@jneilliii: That worked for me, thanks! But I received follwing error message regarding your Bed Visualizer plugin during installation of numpy 1.20.1: Installing collected packages: numpy Attempting uninstall: numpy Found existing installation: numpy 1.19.2 Uninstalling numpy-1.19.2: Successfully uninstalled numpy-1.19.2 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. bed-visualizer 1.0.1 requires numpy<=1.19.2,>=1.16.0, but you have numpy 1.20.1 which is incompatible. Successfully installed numpy-1.20.1

jneilliii commented 3 years ago

@fnsign yeah, I assumed that was going to happen and have already updated the plugin's dependencies. You can force reinstall by copying/pasting the URL below in Plugin Manager > Get More > ...from URL and clicking install over your existing version. I removed the version pinning.

https://github.com/jneilliii/OctoPrint-BedLevelVisualizer/archive/master.zip
fnsign commented 3 years ago

@jneilliii Thanks for providing the change so quickly! I installed it and it works w/o problems.

jaytonic commented 3 years ago

Hey guys, if you are in a converted python 3 environment you may be able to get this working if you install the right system dependency. Try this and restart OctoPrint.

sudo apt install libatlas3-base

This is something I already did, if I run it, it says that 0 newly installed, 0 upgraded packages.

It seems recent panda versions might need newer version of numpy, so you guys might try the following command via SSH. That worked for the person we were helping out.

~/oprint/bin/pip install --upgrade numpy>=1.20.1

Then I did this, took a long time, but finished successfully.

Then I tried to install again the package. Still ended by saying the package "Unknown" has been installed, and I can't find the package anywhere.

jaytonic commented 3 years ago

Checking the logs files, I found this error:

2021-03-07 18:11:48,298 - octoprint.plugin.core - ERROR - Error loading plugin stats
Traceback (most recent call last):
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/plugin/core.py", line 1298, in _import_plugin
    module = _load_module(module_name, spec)
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/plugin/core.py", line 69, in _load_module
    return imp.load_module(name, f, filename, details)
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/vendor/imp.py", line 238, in load_module
    return load_package(name, filename)
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint/vendor/imp.py", line 212, in load_package
    return _load(spec)
  File "<frozen importlib._bootstrap>", line 696, in _load
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/pi/oprint/lib/python3.7/site-packages/octoprint_stats/__init__.py", line 18, in <module>
    import pandas as pd
  File "/home/pi/oprint/lib/python3.7/site-packages/pandas/__init__.py", line 29, in <module>
    from pandas._libs import hashtable as _hashtable, lib as _lib, tslib as _tslib
  File "/home/pi/oprint/lib/python3.7/site-packages/pandas/_libs/__init__.py", line 13, in <module>
    from pandas._libs.interval import Interval
  File "pandas/_libs/interval.pyx", line 1, in init pandas._libs.interval
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 44 from C header, got 40 from PyObject
jneilliii commented 3 years ago

What is returned as versions for numpy/pandas when you run ~/oprint/bin/pip freeze?

jaytonic commented 3 years ago

My bad. In fact I did a

pip install --upgrade numpy>=1.20.1

And not

~/oprint/bin/pip install --upgrade numpy>=1.20.1

Now it works

BeppeTemp commented 3 years ago

where I must run this command ?

jaytonic commented 3 years ago

where I must run this command ?

you have to login with SSH to the raspberry.

AlexVerrico commented 3 years ago

Closing due to inactivity