Oops, sudo apt install python3-paho-mqtt On Monday 29 July 2024 at 12:49:10 UTC-4 [email protected] wrote:
> Depending on your preference, either of these should work for the paho > mqtt client. > sudo apt install python-paho-mqtt > pip install paho-mqtt --break-system-packages > rich > > On Monday 29 July 2024 at 11:56:37 UTC-4 Marty b wrote: > >> Hello everyone, >> >> Thank you all for the replies! >> >> I tried installing the module using both methods (apt & pip). Both gave >> errors. I tried a bunch of other things and couldn't get it to work. So, I >> started working on some other things on the Pi and noticed that the >> language was set for EN-GB-UTF8. I change this to EN-US-UTF8 and tried >> install the module again (via apt) and was successful. This make >> absolutely no sense, but that was the last thing that changed. >> >> I did try activating the virtual environment and could not make it work. >> >> I am new to the virtual environment of python - and very willing to >> learn/understand it. >> >> I will further try to figure it out since I want to use the mqtt plug-in ( >> https://github.com/weewx/weewx/wiki/mqtt) and it requires a package that >> does not appear to be installable via apt (paho-mqtt). >> >> >> >> On Monday, July 29, 2024 at 8:04:23 AM UTC-7 John Kline wrote: >> >>> I looks like he is using an extension of mine (weewx-loopdata) that >>> requires sorted containers since weewx-loopdata v3.0. The README states >>> that sortedcontainers must be installed and the weewx 5 install >>> instructions, step 1, states: >>> >>> 1. >>> >>> >>> Activate the virtual environment (actual syntax varies by type of >>> WeeWX install):/home/weewx/weewx-venv/bin/activate >>> >>> >>> I’m asssuming weewx 5. If it is weewx 4, follow the WeeWX instructions >>> for weewx 4 installs. >>> >>> On Jul 29, 2024, at 9:51 AM, [email protected] <[email protected]> >>> wrote: >>> >>> >>> >>> This is ‘due’ to pep 668 and a ‘push’ for users to use virtual >>> environments. It is warning the person installing the python module, >>> sortedcontainers, that they are installing into an ‘global’ >>> (externally-managed-environment) location. There are a few ways to solve >>> this. >>> Create a virtual environment, activate it, and install the module. Since >>> WeeWX was a package install, this is not reasonable. >>> As the message states, override the warning using the >>> ‘--break-system-packages’ option. It would look something like this, ‘pip3 >>> install sortedcontainers --break-system-packages’. >>> If it exists, install the OS package. It would be something like this, >>> ‘sudo apt install python3-sortedcontainers’ >>> >>> Additional information: >>> http://rptl.io/venv >>> https://peps.python.org/pep-0668/ >>> >>> https://packaging.python.org/en/latest/specifications/externally-managed-environments/#externally-managed-environments >>> >>> rich >>> On Monday 29 July 2024 at 10:10:36 UTC-4 Tom Keffer wrote: >>> >>>> The user is doing a package install (the clue is paths such as >>>> '/usr/share/weewx/...' >>>> >>>> My thinking is that you are using an extension that needs >>>> 'sortedcontainers'. >>>> >>>> Please post your configuration file, /etc/weewx/weewx.conf. Make sure >>>> you look it over and remove any passwords or other sensitive information >>>> before posting. >>>> >>>> >>>> >>>> On Sun, Jul 28, 2024 at 11:41 PM Marty b <[email protected]> wrote: >>>> >>>>> Should point out that I did try installing the missing module, but got >>>>> the following error: >>>>> >>>>> $ pip3 install sortedcontainers >>>>> error: externally-managed-environment >>>>> >>>>> × This environment is externally managed >>>>> ╰─> To install Python packages system-wide, try apt install >>>>> python3-xyz, where xyz is the package you are trying to >>>>> install. >>>>> >>>>> If you wish to install a non-Debian-packaged Python package, >>>>> create a virtual environment using python3 -m venv path/to/venv. >>>>> Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make >>>>> sure you have python3-full installed. >>>>> >>>>> For more information visit http://rptl.io/venv >>>>> >>>>> note: If you believe this is a mistake, please contact your Python >>>>> installation or OS distribution provider. You can override this, at the >>>>> risk of breaking your Python installation or OS, by passing >>>>> --break-system-packages. >>>>> >>>>> On Sunday, July 28, 2024 at 11:14:11 PM UTC-7 Marty b wrote: >>>>> >>>>>> Hello, >>>>>> >>>>>> Just built a new SD card with Raspbian bookworm 64 bit and WeeWx. >>>>>> When starting weewx I get an error "No module named 'sortedcontainers'. >>>>>> Please let me know how to resolve this. >>>>>> >>>>>> Thanks! >>>>>> >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: INFO weewx.engine: StdConvert >>>>>> target unit is 0x1 >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: INFO weewx.wxservices: >>>>>> StdWXCalculate will use data binding wx_binding >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: INFO weewx.engine: Archive >>>>>> will use data binding wx_binding >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: INFO weewx.engine: Record >>>>>> generation will be attempted in 'hardware' >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: INFO weewx.engine: Using >>>>>> archive interval of 300 seconds (specified by hardware) >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: INFO weewx.restx: >>>>>> StationRegistry: Registration not requested. >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: INFO weewx.restx: >>>>>> Wunderground: Posting not enabled. >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: INFO weewx.restx: PWSweather: >>>>>> Posting not enabled. >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: INFO weewx.restx: CWOP: >>>>>> Posting not enabled. >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: INFO weewx.restx: WOW: >>>>>> Posting not enabled. >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: INFO weewx.restx: AWEKAS: >>>>>> Posting not enabled. >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: INFO weewx.engine: 'pyephem' >>>>>> detected, extended almanac data is available >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: Caught >>>>>> unrecoverable exception: >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> No module named 'sortedcontainers' >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> Traceback (most recent call last): >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> File "/usr/share/weewx/weewxd.py", line 121, in main >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> engine = weewx.engine.StdEngine(config_dict) >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> File "/usr/share/weewx/weewx/engine.py", line 89, in __init__ >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> self.loadServices(config_dict) >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> File "/usr/share/weewx/weewx/engine.py", line 157, in loadServices >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> obj = weeutil.weeutil.get_object(svc)(self, config_dict) >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> File "/usr/share/weewx/weeutil/weeutil.py", line 1404, in get_object >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> module = importlib.import_module(module_name) >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> File "/usr/lib/python3.11/importlib/__init__.py", line 126, in >>>>>> import_module >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> return _bootstrap._gcd_import(name[level:], package, level) >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> File "<frozen importlib._bootstrap>", line 1206, in _gcd_import >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> File "<frozen importlib._bootstrap>", line 1178, in _find_and_load >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> File "<frozen importlib._bootstrap>", line 1149, in >>>>>> _find_and_load_unlocked >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> File "<frozen importlib._bootstrap>", line 690, in _load_unlocked >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: Traceback (most recent call >>>>>> last): >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: File >>>>>> "/usr/share/weewx/weewxd.py", line 226, in <module> >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> File "<frozen importlib._bootstrap_external>", line 940, in exec_module >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: main() >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: File >>>>>> "/usr/share/weewx/weewxd.py", line 121, in main >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> File "<frozen importlib._bootstrap>", line 241, in >>>>>> _call_with_frames_removed >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: engine = >>>>>> weewx.engine.StdEngine(config_dict) >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: File >>>>>> "/usr/share/weewx/weewx/engine.py", line 89, in __init__ >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> File "/etc/weewx/bin/user/loopdata.py", line 30, in <module> >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: >>>>>> self.loadServices(config_dict) >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: File >>>>>> "/usr/share/weewx/weewx/engine.py", line 157, in loadServices >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: obj = >>>>>> weeutil.weeutil.get_object(svc)(self, config_dict) >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> from sortedcontainers import SortedDict >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: File >>>>>> "/usr/share/weewx/weeutil/weeutil.py", line 1404, in get_object >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> ModuleNotFoundError: No module named 'sortedcontainers' >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: CRITICAL __main__: **** >>>>>> Exiting. >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: module = >>>>>> importlib.import_module(module_name) >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: File >>>>>> "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module >>>>>> Jul 28 23:12:10 WeeWx2024 weewxd[2632]: return >>>>>> _bootstrap._gcd_import(name[level:], package, level) >>>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "weewx-user" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/weewx-user/3cb59936-0567-4c41-a53a-62e752879775n%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/weewx-user/3cb59936-0567-4c41-a53a-62e752879775n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "weewx-user" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/weewx-user/d8a08cdb-d5b1-4db2-9f9f-54855503f901n%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/weewx-user/d8a08cdb-d5b1-4db2-9f9f-54855503f901n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>> -- You received this message because you are subscribed to the Google Groups "weewx-user" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/ad16e58b-3c77-42ec-88ba-94cd9f171ab7n%40googlegroups.com.
