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.
