Thanks Tom,

I am converting to python3 and I am know nothing about python at all so 
going through the code manually for me was not an option. I just used the 
2to3 and if it worked then it was ok if it didn't then I just had to delve 
deeper or contact the author.

I built a 20.04 server Ubuntu and loaded weewx and then put my 
configuration and all my templates etc on it to see what would I would have 
to do if I wanted to go wholly pyhton3.

I have converted all the addons etc I am using but I cannot get the Steel 
series gauges to run with python3 so I have just made the enable true to 
enable false in the weewx.conf

I can live without the gauges. Below is the error:

May  7 09:35:24 jed165 weewx[2390] DEBUG weewx.reportengine: Running report 
'SteelSeries'
May  7 09:35:24 jed165 weewx[2390] DEBUG weewx.reportengine: Found 
configuration file /etc/weewx/skins/ss/skin.conf for report 'SteelSeries'
May  7 09:35:24 jed165 weewx[2390] INFO weewx.reportengine: Copied 0 files 
to /var/www/html/weather/ss
May  7 09:35:24 jed165 weewx[2390] DEBUG weewx.cheetahgenerator: Using 
search list ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.S
tation', 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.Stats', 
'weewx.cheetahgenerator.UnitInfo', 'weewx.cheetahgenerator.Extras']
May  7 09:35:24 jed165 weewx[2390] DEBUG weewx.manager: Daily summary 
version is 2.0
May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: Generate 
failed with exception '<class 'TypeError'>'
May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** 
Ignoring template /etc/weewx/skins/ss/gauge-data.txt.tmpl
May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** 
Reason: '>' not supported between instances of 'NoneType' and 'int'
May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: ****  
Traceback (most recent call last):
May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: ****    
File "/usr/share/weewx/weewx/cheetahgenerator.py", line 322, in genera
te
May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: ****      
unicode_string = compiled_template.respond()
May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: ****    
File "_etc_weewx_skins_ss_gauge_data_txt_tmpl.py", line 339, in respon
d
May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: ****  
TypeError: '>' not supported between instances of 'NoneType' and 'int'

Other than that all works so far using the simulator driver. I will try the 
fineoffset driver later and see what happens.


On Thursday, 7 May 2020 09:26:30 UTC+10, Tom Keffer wrote:
>
> The problem with 2to3 is that the results are Python 3 only.
>
> The tool python-modernize 
> <https://python-modernize.readthedocs.io/en/latest/> does a little better 
> and its results will run under 2 or 3, but they will also depend on the 
> library 'six'. 
>
> Drivers and uploaders are especially tricky because they have to do string 
> <--> byte conversions. Those almost always have to be hand coded.
>
> In the end, I've found it easiest just to grind through the code manually.
>
> -tk
>
> On Wed, May 6, 2020 at 4:17 PM Greg from Oz <[email protected] 
> <javascript:>> wrote:
>
>> I have run a program called 2to3 python converter program on some of the 
>> python2 scripts and it fixed most of the problems and did the conversion to 
>> the python3 syntax.
>>
>> example: 2to3 -w /usr/share/weewx/user/owm.py
>>
>>
>> On Wednesday, 6 May 2020 12:31:23 UTC+10, Colin Larsen wrote:
>>>
>>> Fixed that one with; sudo python3 -m pip install paho-mqtt
>>>
>>> Now I have an error that looks like it is Open Wetaher map?
>>>
>>> May  6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__: Caught 
>>> unrecoverable exception:
>>>
>>> May  6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__:     ****  
>>> invalid 
>>> syntax (owm.py, line 84)
>>>
>>> May  6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__:     ****  
>>> Traceback 
>>> (most recent call last):
>>>
>>> May  6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewxd", line 148, in main
>>>
>>> May  6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__:     ****    
>>>   engine = weewx.engine.StdEngine(config_dict)
>>>
>>> May  6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewx/engine.py", line 75, in __init__
>>>
>>> May  6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__:     ****    
>>>   self.loadServices(config_dict)
>>>
>>> May  6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weewx/engine.py", line 138, in loadServices
>>>
>>> May  6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__:     ****    
>>>   obj = weeutil.weeutil.get_object(svc)(self,config_dict)
>>>
>>> May  6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/weeutil/weeutil.py", line 1093, in get_object
>>>
>>> May  6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__:     ****    
>>>   mod = __import__(module)
>>>
>>> May  6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__:     ****    File 
>>> "/usr/share/weewx/user/owm.py", line 84
>>>
>>> May  6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__:     ****    
>>>   except KeyError, e:
>>>
>>> May  6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__:     ****     
>>>                 ^
>>>
>>> May  6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__:     ****  
>>> SyntaxError: 
>>> invalid syntax
>>>
>>> May  6 14:29:07 raspberrypi weewx[6896] CRITICAL __main__:     ****  
>>> Exiting.
>>>
>>> On Wed, 6 May 2020 at 14:19, Colin Larsen <[email protected]> wrote:
>>>
>>>> Still going ......
>>>>
>>>> Installed the new mqtt and now get this error 
>>>>
>>>> May  6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__: Caught 
>>>> unrecoverable exception:
>>>>
>>>> May  6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__:     ****  No 
>>>> module named 'paho'
>>>>
>>>> May  6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__:     ****  
>>>> Traceback 
>>>> (most recent call last):
>>>>
>>>> May  6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__:     ****    
>>>> File 
>>>> "/usr/share/weewx/weewxd", line 148, in main
>>>>
>>>> May  6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__:     ****    
>>>>   engine = weewx.engine.StdEngine(config_dict)
>>>>
>>>> May  6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__:     ****    
>>>> File 
>>>> "/usr/share/weewx/weewx/engine.py", line 75, in __init__
>>>>
>>>> May  6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__:     ****    
>>>>   self.loadServices(config_dict)
>>>>
>>>> May  6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__:     ****    
>>>> File 
>>>> "/usr/share/weewx/weewx/engine.py", line 138, in loadServices
>>>>
>>>> May  6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__:     ****    
>>>>   obj = weeutil.weeutil.get_object(svc)(self,config_dict)
>>>>
>>>> May  6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__:     ****    
>>>> File 
>>>> "/usr/share/weewx/weeutil/weeutil.py", line 1093, in get_object
>>>>
>>>> May  6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__:     ****    
>>>>   mod = __import__(module)
>>>>
>>>> May  6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__:     ****    
>>>> File 
>>>> "/usr/share/weewx/user/mqtt.py", line 94, in <module>
>>>>
>>>> May  6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__:     ****    
>>>>   import paho.mqtt.client as mqtt
>>>>
>>>> May  6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__:     ****  
>>>> ImportError: 
>>>> No module named 'paho'
>>>>
>>>> May  6 14:16:47 raspberrypi weewx[6432] CRITICAL __main__:     ****  
>>>> Exiting.
>>>>
>>>>
>>>> Tried to install Paho and I get  ...
>>>>
>>>>
>>>> *pi@raspberrypi*:*/etc/default $* sudo pip install paho-mqtt
>>>>
>>>> Requirement already satisfied: paho-mqtt in 
>>>> /usr/local/lib/python2.7/dist-packages
>>>>
>>>>
>>>> So how do I install it for python3 please :)
>>>>
>>>>
>>>>
>>>> Cheers
>>>>
>>>> Colin
>>>>
>>>> On Tue, 5 May 2020 at 00:18, Graham Eddy <[email protected]> wrote:
>>>>
>>>>> this (ujson instead of python-cjson, then install mqtt extension) 
>>>>> seems to have worked up to point that weewx.log reports its mqtt client 
>>>>> is 
>>>>> successfully publishing loop data
>>>>>
>>>>> sudo python3.7 -m pip install ujson
>>>>>
>>>>>
>>>>> On 4 May 2020, at 8:58 pm, Graham Eddy <[email protected]> wrote:
>>>>>
>>>>> i have only just become interested in mqtt (to make my custom weewx 
>>>>> gauges near realtime).
>>>>> the link to the MQTT weewx extension mentioned below lists two 
>>>>> prerequisites: paho-mqtt, python-cjson.
>>>>> paho-mqtt installed fine.
>>>>> python-cjson fails.
>>>>>
>>>>>
>>>>> -- 
>>>>> 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/296D8321-100E-45B1-A47A-2657960A2942%40gmail.com
>>>>>  
>>>>> <https://groups.google.com/d/msgid/weewx-user/296D8321-100E-45B1-A47A-2657960A2942%40gmail.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] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/weewx-user/5edba9a8-8cbb-4ae9-8b86-68b0c5a9cdf7%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/weewx-user/5edba9a8-8cbb-4ae9-8b86-68b0c5a9cdf7%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/7aab2ac7-b93f-4c51-893f-d8c4fc508e4f%40googlegroups.com.

Reply via email to