Python upgrade

Your steps 1 - 3 are my step 1. :wink:

You forgot my steps 2 - 4, Your Step 4 is my step 5. You do not need to touch your configuration since it is elsewhere.

You DO need to install the python modules in the new venv and restart Home assistant, though.

1 Like

So it is referenced through symlinks or such like

Nope, no symlinks at all the hass python code takes a -c parameter for the location of your config files.

1 Like

I’m so looking forward to seeing the finished product. My anorak is tightening with every post :joy:

Oh-oh! Bad news.
People usually install a venv it own subdirectory.
If you follow the official manual installation instructions, the venv files are mixed in with the homeassistant ones. That means, to be safe, tou need to delete Home Assistant & reinstall too.

Here are those instructions.

But does anyone know if just installing HA via a new Hassbian image includes the latest Python version?

I would think that should be the easiest way of upgrading if you don’t have much installed and running on your Pi besides HA.

I saw somewhere that the new Hassbian image is based on the unstable Debian Buster. There is a Hassbian script to upgrade python that would be safer if you are already running Hassbian.

sudo hassbian-config upgrade python

Absolutely agree with you there.

It kind of sucks that this was thrown on users so suddenly tho.

If you installed HA venv in the standard location (/srv/homeassistant) and if you don’t have any other sub-directories in your /srv directory then you can remove it using this:

$ cd /srv/
$ sudo rm -r *

otherwise just find out where your venv directory is and delete that individual directory.

What modules need to be installed directly into the venv?

Once you delete the old venv, create a new one and then install HA in the venv I don’t think there is anything else to install in the venv. You should pretty much never have to enter the venv to do anything except to update HA.

true, but if you aren’t already running Hassbian it might just be easier to install it which would include all of the updated stuff. then just copy your config back to the SD card and be done with it.

According to the manual install instructions you need at least to install wheel. If toyou saved the modules list from the old venv you can easily install them all though.

REALLY, tried this before and with 3 years of custom components connecting amcrest camera’s, Foscam Cameras, Lyric thermostat, sonoff switches, wemo switches, sonoff RF to Wifi converts, motion detectors,Alexa Messaging, owntrack, android phone (including moving from known_devices.yaml to entities) which took me several driving trips to check my automation’s to make sure my ownstrack worked. Every update I have been doing recently makes me try to fix something else. It is time for me to quit updating I am sticking with what works. Sorry to say changing isn’t easy!!

2 Likes

I am seriously considering whether “what works” may be something like OpenHAB.

1 Like

Thanks!! I a appreciate your opinion !!

Although OpenHAB was stuck 2 years into a miratio, at least they are now putting things back toether instead of constantly rearramging things. They only officially release twice a year but some people run milestone or snapshot releases regularly.
I am not too fond of the fact it is Java based though. :frowning:

this solution works even if you did not install debian from hassbian. After the python warning on upgrading to 0.94, I just downloaded and installed the hassbian scripts package to my debian machine with a custom install on venv. Then

sudo hassbian-config upgrade python

worked perfectly!

1 Like

I have done that too.
For some reason some of the devs on Discord frown on doing something like that.
I am basically following the script manually. It installs 3.7 so it doesn’t interfere with the installed versions.
It is /usr /local/bin/python3.7 Notice the dot in the program name.

I was surprised it worked.

So use hass.io with a generic Linux installation and you’re done.

1 Like

Then you end up with undocumented fiascos like the Ingress change because there are no Hassio release notes. I have also noticed they must not test Hassio Supervisor with the latest Home Assistant before release. Many times after a release they have a supervisor update needed to make it work.

1 Like

I’m not sure what you mean by this. I never had any problems with this… or is my memory failing me?
There are supervisor updates all the time… not just after a release.

Hass.io on a generic linux install is no more buggy or problematic than any other HA install method. If you do have problems you can roll back to any release in minutes - the beauty of Docker and you don’t have to worry about python versions.

1 Like

I am a user of Home Assistant for over a year now.

And I am in the same boat as many here: I use a Raspberry Pi 3 with Raspbian Stretch on it, and then Python’s venv. That way, I manage upgrades to Linux just like I manage any other Linux server, using apt tools, and Linux is decoupled from Home Assistant.

This latest announcement deprecating the version of Python that is the default on Raspbian is a bad one. It should have waited for when Raspbian has a higher version of Python in a future version after stretch.

I tried the docker install, and it has problems. The dockerized image of Home Assistant is unable to communicate with VLC which I use for the speakers. It also cannot communicate with MySQL which I use for the recorder in HA.

I think the most promising way forward for us venv users is to do what @froz mentioned earlier in the thread with pyenv.

Anyone tried it yet on stretch?