Thank you for all the responses.  I ended up doing another fresh install of 
the Raspberry Pi OS and WeeWx and everything worked like a charm on the 1st 
try - based on the feedback provided.  I do believe there was something 
wrong with my 1st fresh install of the RaspiOS that caused problems not 
being able to initially install the ' sortedcontainers' module.

Thank you again - the assistance was appreciated!

Marty

On Monday, July 29, 2024 at 9:50:04 AM UTC-7 [email protected] wrote:

>
> 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/df009975-a484-43d6-bedb-e6e86affbcc7n%40googlegroups.com.

Reply via email to