Mark,
I didn't understand your sentence, "The pip install instructions said to use "sh ~/weewx-data/scripts/setup-daemon.sh". I couldn't run this because weewx-data is in the .env folder, not in root."
What is the ".env" folder? Is that where you put your virtual environment? This is normally called "weewx-venv", but calling it ".env" is OK. Just need to clarify what it is.
Assuming it is your virtual environment then, yes, buried deep within, it contains a directory weewx_data. But note the underscore, instead of a hyphen: it's "weewx_data", not "weewx-data". This directory is used as the raw materials when creating a station. It is not intended to be used by the end user. Instead, commands such as "weectl create station" take its contents and massages them for your specific environment, then puts them in a final resting place. One of these contents is "setup-daemon.sh", which normally ends up in "~/weewx-data/scripts".
If you run "setup-daemon.sh" directly out of the virtual environment I would not be surprised that you get unpredictable results.
Anyway, to summarize, there are two key questions:
1. Is ".env" your virtual environment?
2. Did you run "weectl station create"?
-tk