Install via Ubuntu package?

I don’t see a package for Home Assistant in the Ubuntu or Debian package archives, which means I can’t install it via “sudo apt install homeassistant” or similar.

I see the “pip install homeassistant” suggestion, which failed because my system is currently running python 2.7.17. I could probably “fix” this, but it seems like that’s really the job of a package manager.

I also see instructions like “curl -fsSL get.docker.com | sh”. No doubt that works great, but doesn’t seem like great advice from a security point of view.

Is there some technical reason for the lack of packages, or is it a matter of the right people not being interested? Something else?

It seems like there are lots of installation tutorials that could be simplified if there were packages that could be installed with the standard package manager. I know the good thing about package managers is that there are so many to choose from. That is a real pain.

It is a Python package that requires Python 3. Python 2 is no longer even supported by the upstream developers. You can install Python 3 on Ubuntu without disturbing your Python 2.
You can then either install Home Assistant Core (formerly Home Assistant) in a virtual environment or follow the community install of Home Assistant (formerly Hassio).

1 Like

Thanks for that hint! Ubuntu packages pip for python3 as “pip3”, so “pip3 install homeassistant” seemed to do the right thing.

It doesn’t answer my real question, though. This is all stuff package managers are designed to do – resolve dependencies, keep track of what’s installed, make it easy to upgrade, etc. In principle, I think “sudo apt install homeassistant” could do the right thing regardless of what python, etc, etc, are required.

I’m not really thrilled about using “apt” to maintain most of the system and “pip3” or something built into homeassistant itself to maintain parts of it. E.g., apt doesn’t know how to search, update, remove things installed by pip.

pip looks like a nice thing for development, e.g., it can install things from git repos, install things in non-privileged per-user places, etc. But I’d really like to be able to treat homeassistant as a standard system utility like asterisk, mosquitto, gcc, etc. Seems like that would help move it from the “suitable for hackers” category to the “suitable for general use” category.

1 Like

What version of python3 do you have installed? Home Assistant requires at least Python 3.7.
The Docker based in stall does not care what version you have currently installed. pip3 is part of Python but home Assistant does not recommend that for beginners.

Look toward the bottom of this link.

I don’t think it’s ever done this for the most part I always have to install dependencies and upgrade stuff if I install something new. If you want this level of hands off then you should do a docker install where dependencies ARE dealt with in images. You probably also should consider the Home Assistant rather than core.

3 Likes

I believe it’s cause in older versions of home assistant needed specific versions of python programs that were referenced by the core OS ie Ubuntu, and so having it in pip and a virtual environment allowed them to coexist

1 Like

That is the Python standard for having many Python programs on a server. It does not necessariy relate to the OS installed versions of Python. Docker makes the who Python version issue moot though since it is handled by the container…

Hello, does that pip install homeassistant install version with supervisor, or how to add supervisor installation to that pip-performed installation please?

Thanks, Jan

An installation involving the Supervisor is a docker based installation. You cannot just add it to a pip-based install. Of course, since you read the documentation, you already know this.

This forum is not a substitute for reading the documentation.

According to moderator, the supervised install - “It is not a Debian container. Debian is the required underlying OS as per the linked ADRs in my post above.”. You can see in github it is actually a deb installation package. So contrary to my expectation, in cannot be docker container that has “everything” for Debian 11 and could run on whatever distro that is using same kernel. No. It uses parts of host operating system. I even tried to install Debian 11 in docker and then install homeassistant-supervised INTO that container, but it complained about missing systemctl. So, for supervised install, I believe you either need true virtualization OR one of supported OS’s, Ubuntu is not one of them.