gjr80 / weewx-stackedwindrose

A WeeWX extension to generate a polar windrose graphic
GNU General Public License v3.0
11 stars 2 forks source link

install.py not compatible with python 3.12.2 and v5 pip #10

Open vinceskahan opened 6 months ago

vinceskahan commented 6 months ago

On beta ubuntu 24.04 LTS which uses python 3.12.2 the installation with weectl fails as follows.

(Workaround is to 'pip3 install setuptools' before installing this extension via weectl, so your install.py probably just needs some refactoring to be more like how the gw1000 driver is installed mechanically...)

# weectl extension install -y https://github.com/gjr80/weewx-stackedwindrose/releases/download/v3.0.2/stackedwindrose-3.0.2.tar.gz
Using configuration file /home/vince/weewx-data/weewx.conf
Extracting from tar archive /tmp/tmpsz4046yv
Traceback (most recent call last):
  File "/home/vince/weewx-venv/lib/python3.12/site-packages/weecfg/__init__.py", line 714, in get_extension_installer
    __import__('install')
  File "/tmp/tmp93routf2/stackedwindrose/install.py", line 44, in <module>
ModuleNotFoundError: No module named 'distutils'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/vince/weewx-venv/bin/weectl", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/vince/weewx-venv/lib/python3.12/site-packages/weectl.py", line 66, in main
    namespace.func(namespace)
  File "/home/vince/weewx-venv/lib/python3.12/site-packages/weectllib/__init__.py", line 121, in dispatch
    namespace.action_func(config_dict, namespace)
  File "/home/vince/weewx-venv/lib/python3.12/site-packages/weectllib/extension_cmd.py", line 116, in install_extension
    ext.install_extension(namespace.source, no_confirm=namespace.yes)
  File "/home/vince/weewx-venv/lib/python3.12/site-packages/weecfg/extension.py", line 130, in install_extension
    extension_name = self._install_from_file(test_fd.name, filetype)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vince/weewx-venv/lib/python3.12/site-packages/weecfg/extension.py", line 168, in _install_from_file
    extension_name = self.install_from_dir(extension_dir)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vince/weewx-venv/lib/python3.12/site-packages/weecfg/extension.py", line 179, in install_from_dir
    installer_path, installer = weecfg.get_extension_installer(extension_dir)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/vince/weewx-venv/lib/python3.12/site-packages/weecfg/__init__.py", line 716, in get_extension_installer
    raise ExtensionError("Cannot find 'install' module in %s" % extension_installer_dir)
weecfg.ExtensionError: Cannot find 'install' module in /tmp/tmp93routf2/stackedwindrose
vinceskahan commented 6 months ago

Gary - this looks like your issue....https://groups.google.com/g/weewx-user/c/je4_pTD5Tio/m/cVChp79wAAAJ