As we said in my old company for doomed projects, "We'll put a man on it."
Seriously though, there is the "Version 5 <https://github.com/weewx/weewx/wiki/version-5>" design document. On Sun, Nov 26, 2023 at 2:48 PM Joel Bion <[email protected]> wrote: > Hi - > > I upgraded my setup from 4 to 5 around the time beta 15 came out. The work > doing that wasn’t hard at all. > > The case study I am referring to is _not_ a case study for telling how > users upgrade to v5. Rather, it’s the case study of a standalone software > system (weewx) migrating from the old Python setup/install/distribution > paradigm (distutils? The use of /home/python) to the one Python recommends > you use from 3.12 forward… with the use of venv, the split between the > location of program data vs program, etc… > > Looking from the sidelines at the development of weewx 5 - it seems there > were lots of steps for Tom and co. to follow, lots of work to make various > user upgrade paths work, lots of details. > > I am suggesting that the things you had to do might be interesting to > others. Written up as a case study like a tough case in in a medical > journal, it might make interesting reading. It could touch upon the > adequacy of online information to inform you on how you migrated weewx to > v5, on the applicability of documented conversation steps to your > particular case, etc. little “gotchas” that you had to solve, etc. > > > Sent from my iPhone > > On Nov 26, 2023, at 1:26 PM, Tom Keffer <[email protected]> wrote: > > > If that's the information Joel is seeking, I honestly don't think it's > that complicated. Instead of setting up a new station data area by using > "weectl station create," just use your old one: /home/weewx. > > See the detailed instructions *Migrating setup.py installs to Version 5.0 > <https://github.com/weewx/weewx/wiki/v5-upgrade>* in the Wiki. There's > also a link in the Upgrade Guide. > > TL;DR? Read the Guide! > > -tk > > On Sun, Nov 26, 2023 at 1:05 PM Vince Skahan <[email protected]> > wrote: > >> >> [...long answer follows...] >> >> v5 beta pip user who came from setup.py installation here so let me pass >> along my experience and what I did.... >> >> This is my personal method and definitely differs from the official >> steps, but maybe it will help identify one way to approach setting up a >> test setup before throwing the switch and going live with it.... >> >> I might add that I'm a Vantage VP2 with datalogger user here, so it's >> easy to stop v4, run v5, and then even go back to v4 if needed (I never >> needed to do so) and the datalogger will handle catching up an old v4 >> installation. This is a feature that not all stations have, but it was a >> nice security blanket here. >> >> Anyway - apologies for this being verbose. Writing it down just in case >> somebody needs to search for it. >> >> 1. Set up a v5 pip virtual environment and the station's weewx-data >> directory >> >> - created a simulator station using the pip quickstart steps, but did >> a couple things differently: >> - I added the --no-prompt option to 'weectl station create' so it >> didn't prompt me >> - I didn't put the weewx.service file into place (yet) >> - installed all the skins and extensions I have in my v4 setup.py >> config into the new v5 pip weewx-data using 'weectl extension install' >> - installed any python modules my skins/extensions require (requests >> and paho-mqtt, to name two) into the python venv >> - at this point I could activate the python venv and run weewxd >> and see simulated data returned >> - and after 5 minutes it should save to the simulator weewx.sdb >> and run the reports >> - if anything goes boom, you missed adding something to your new >> pip based installation >> - do not (yet) edit weewx.conf to do anything that acts like an >> uploader (rsync, mqtt, pws, wu, cwop, and so on) >> - do not (yet) do anything to hook into systemd >> - if you want to hook the v5 pip public_html into your web at a test >> path, perhaps http://xyz/weewx-v5, you can do that now >> >> 2. Copied my NOAA files into place. The historical ones take too long to >> regenerate if you have many years. When we get to it later the current >> month/year will be overwritten correctly. >> >> 3. Copied my archive db into place. Don't sweat it getting overwritten >> with simulator data. We'll copy the real db (again) when putting v5 pip >> into production >> >> 4. Run weewxd interactively again and let it run the reports a couple >> times. Verify nothing went boom. You should see full graphs etc. and NOAA >> reports. Don't sweat the contents. Just ensure it generated them. >> >> 5. At this point you have a pretty close to done config. Go ahead and >> edit weewx.conf and put in your normal edits there, but be sure to 'enable >> = false' all your uploaders etc. still at this point. For me it was >> anything that uploaded using MQTT and Belchertown as well as RSYNC to my >> internet site and things like PWS. Leave them off for now. >> >> 6. Now test the weewx.service file. Save your old one. Let me repeat >> that. Save your existing one. Really. >> >> - Be a little careful here if you previously had a /etc/init.d file >> for v4 weewx. If so, move that aside, saving the old one. >> - copy the service file into place. daemon-reload. systemctl start. >> Verify weewx started ok with "ps -elf" and watch your logs >> >> >> At this point you should have a v5 pip installation that matches your v4 >> setup.py installation, other than having the uploaders disabled and having >> bogus data consisting of historical real data and some appended simulator >> cruft data. If you're happy and want to jump to v5 pip you would then: >> >> - stop v5 weewx >> - once again copy the v4 archive over into the v5 data tree >> - this time you can enable your uploaders >> - go for smoke and run v5 now >> - tweak your webserver setup to point to the v5 public_html directory >> - verify you can surf to your v5 web >> - Check your logs. If good, go for the victory pizza. >> >> >> >> On Sunday, November 26, 2023 at 11:41:11 AM UTC-8 Joel Bion wrote: >> >>> I seriously think there is a formal case study that needs to be written >>> about the challenges of moving WeeWX to the current Python installation >>> model. >>> >>> There’s a lesson here for not just the Python developers but others >>> about the difficulty of this transition, because the way WeeWX did things >>> (all things under /home/weewx) was not unreasonable but what has been >>> required to migrate, and the need to support custom package managers, etc…. >>> I just think that this information is useful. >>> >>> >>> Sent from my iPhone >>> >>> On Nov 26, 2023, at 11:33 AM, Tom Keffer <[email protected]> wrote: >>> >>> >>> >>> /etc/weewx/bin is added to the Python path dynamically when weewxd is >>> started up. However, because it is added to the end of the path, the >>> interpreter will find the version in /usr/share/weewx first. >>> >>> So, why not add it to the beginning of the Python path? Because that >>> causes problems for legacy setup.py installs. In this case, the interpreter >>> will find the code in /home/weewx/bin first, which is the old V4.10 code. >>> The V5 code is under ~/weewx-venv. >>> >>> In summary, there's no good solution except to warn users. >>> >>> -tk >>> >>> >>> On Sun, Nov 26, 2023 at 9:15 AM Karen K <[email protected]> wrote: >>> >>>> Tom Keffer schrieb am Sonntag, 26. November 2023 um 13:50:23 UTC+1: >>>> >>>> This issue is already known (always read the Upgrade Guide!). See >>>> https://weewx.com/docs/5.0/upgrade/#new-location-for-user-directory >>>> >>>> >>>> This is a slightly other problem here. I did a new clean install, no >>>> upgrade. >>>> >>>> My problem was, that the old directory /usr/share/weewx/user still >>>> exists and Python looks for modules there only. >>>> >>>> So the extensions were installed to /etc/weewx/bin/user, but Python did >>>> not look for them there. >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "weewx-development" 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-development/35032165-08d5-4415-8e9d-d2996ce8ca84n%40googlegroups.com >>>> <https://groups.google.com/d/msgid/weewx-development/35032165-08d5-4415-8e9d-d2996ce8ca84n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "weewx-development" 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-development/CAPq0zEAtRxWk2JG7OYC_ontEnv-fFLLdXGUr2KDzf_nyv24XaQ%40mail.gmail.com >>> <https://groups.google.com/d/msgid/weewx-development/CAPq0zEAtRxWk2JG7OYC_ontEnv-fFLLdXGUr2KDzf_nyv24XaQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "weewx-development" 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-development/6062f16b-2fbb-452d-91e4-42037cc3ebc0n%40googlegroups.com >> <https://groups.google.com/d/msgid/weewx-development/6062f16b-2fbb-452d-91e4-42037cc3ebc0n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- > You received this message because you are subscribed to the Google Groups > "weewx-development" 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-development/CAPq0zEAVnxh7Un%3DSzbK9s0DkJpbhXWRsinEW1gXG75vm%3D3JzKA%40mail.gmail.com > <https://groups.google.com/d/msgid/weewx-development/CAPq0zEAVnxh7Un%3DSzbK9s0DkJpbhXWRsinEW1gXG75vm%3D3JzKA%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > -- You received this message because you are subscribed to the Google Groups "weewx-development" 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-development/CAPq0zED2DFuxZaRZu77-CjVSTg9%2BP8vtBpWOYeQPGY-Sd9GUjQ%40mail.gmail.com.
