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.

Reply via email to