Raspberry Pi: I have upgraded Python but still can't install HA

I have Raspberry Pi 3 model B with Raspbian GNU/Linux 9 (stretch) installed. The original Python3 version is 3.5.3.
According to the documentation for installing Home Assistant (HA) in a virtual environment, I must have Python 3.7 or later installed. I have installed Python 3.8.0 using the following steps (as root user):

apt-get update
apt install build-essential checkinstall
apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
tar xzvf Python-3.8.0.tgz
cd Python-3.8.0/
./configure --enable-optimizations
make -j4
make altinstall

In the last command I used option ‘altinstall’ to prevent overwriting original Python 3.5.3. So the new Python 3.8.0 was installed separately.
Then I tried to install HA using the following instructions:
https://www.home-assistant.io/docs/installation/raspberry-pi/
https://www.home-assistant.io/docs/installation/virtualenv/
My steps:

sudo apt-get update
sudo apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev
sudo useradd -rm homeassistant -G dialout,gpio,i2c
cd /srv
sudo mkdir homeassistant
sudo chown homeassistant:homeassistant homeassistant
sudo -u homeassistant -H -s
cd /srv/homeassistant
python3.8 -m venv .
source bin/activate
pip install --upgrade pip
python3.8 -m pip install wheel
pip3 install homeassistant

At the last step I got error:
Installing collected packages: multidict, idna, yarl, async-timeout, chardet, attrs, aiohttp, six, pycparser, cffi, bcrypt, MarkupSafe, jinja2, certifi, pytz, urllib3, requests, voluptuous, cryptography, ruamel.yaml, PyJWT, more-itertools, zipp, importlib-metadata, text-unidecode, python-slugify, pyyaml, astral, voluptuous-serialize, homeassistant
ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: ‘/usr/local/lib/python3.8/site-packages/multidict-4.5.2.dist-info’
Consider using the --user option or check the permissions.

Why it is trying to install into ‘/usr/local/lib/python3.8/site-packages’ directory, not into my virtualenv?
So I decided to install packages mentioned above manually (I am still inside virtualenv):

python3.8 -m pip install multidict
…
python3.8 -m pip install homeassistant

The packages installed successfully.
Then I run:
hass
And got some errors:
2019-11-14 20:54:33 ERROR (MainThread) [homeassistant.setup] Error during setup of component lovelace
Traceback (most recent call last):
File “/srv/homeassistant/lib/python3.8/site-packages/homeassistant/setup.py”, line 171, in _async_setup_component
result = await component.async_setup( # type: ignore
File “/srv/homeassistant/lib/python3.8/site-packages/homeassistant/components/lovelace/init.py”, line 66, in async_setup
hass.components.frontend.async_register_built_in_panel(
File “/srv/homeassistant/lib/python3.8/site-packages/homeassistant/loader.py”, line 421, in getattr
component: Optional[ModuleType] = integration.get_component()
File “/srv/homeassistant/lib/python3.8/site-packages/homeassistant/loader.py”, line 223, in get_component
cache[self.domain] = importlib.import_module(self.pkg_path)
File “/usr/local/lib/python3.8/importlib/init.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 1014, in _gcd_import
File “”, line 991, in _find_and_load
File “”, line 975, in _find_and_load_unlocked
File “”, line 671, in _load_unlocked
File “”, line 783, in exec_module
File “”, line 219, in _call_with_frames_removed
File “/srv/homeassistant/lib/python3.8/site-packages/homeassistant/components/frontend/init.py”, line 10, in
import hass_frontend
ModuleNotFoundError: No module named ‘hass_frontend’
2019-11-14 20:54:33 ERROR (MainThread) [homeassistant.setup] Error during setup of component config
Traceback (most recent call last):
File “/srv/homeassistant/lib/python3.8/site-packages/homeassistant/setup.py”, line 171, in _async_setup_component
result = await component.async_setup( # type: ignore
File “/srv/homeassistant/lib/python3.8/site-packages/homeassistant/components/config/init.py”, line 34, in async_setup
hass.components.frontend.async_register_built_in_panel(
File “/srv/homeassistant/lib/python3.8/site-packages/homeassistant/loader.py”, line 421, in getattr
component: Optional[ModuleType] = integration.get_component()
File “/srv/homeassistant/lib/python3.8/site-packages/homeassistant/loader.py”, line 223, in get_component
cache[self.domain] = importlib.import_module(self.pkg_path)
File “/usr/local/lib/python3.8/importlib/init.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 1014, in _gcd_import
File “”, line 991, in _find_and_load
File “”, line 975, in _find_and_load_unlocked
File “”, line 671, in _load_unlocked
File “”, line 783, in exec_module
File “”, line 219, in _call_with_frames_removed
File “/srv/homeassistant/lib/python3.8/site-packages/homeassistant/components/frontend/init.py”, line 10, in
import hass_frontend
ModuleNotFoundError: No module named ‘hass_frontend’
2019-11-14 20:54:33 ERROR (MainThread) [homeassistant.setup] Error during setup of component history
Traceback (most recent call last):
File “/srv/homeassistant/lib/python3.8/site-packages/homeassistant/setup.py”, line 171, in _async_setup_component
result = await component.async_setup( # type: ignore
File “/srv/homeassistant/lib/python3.8/site-packages/homeassistant/components/history/init.py”, line 283, in async_setup
hass.components.frontend.async_register_built_in_panel(
File “/srv/homeassistant/lib/python3.8/site-packages/homeassistant/loader.py”, line 421, in getattr
component: Optional[ModuleType] = integration.get_component()
File “/srv/homeassistant/lib/python3.8/site-packages/homeassistant/loader.py”, line 223, in get_component
cache[self.domain] = importlib.import_module(self.pkg_path)
File “/usr/local/lib/python3.8/importlib/init.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 1014, in _gcd_import
File “”, line 991, in _find_and_load
File “”, line 975, in _find_and_load_unlocked
File “”, line 671, in _load_unlocked
File “”, line 783, in exec_module
File “”, line 219, in _call_with_frames_removed
File “/srv/homeassistant/lib/python3.8/site-packages/homeassistant/components/frontend/init.py”, line 10, in
import hass_frontend
ModuleNotFoundError: No module named ‘hass_frontend’
2019-11-14 20:54:33 ERROR (MainThread) [homeassistant.setup] Unable to set up dependencies of frontend. Setup failed for dependencies: lovelace
2019-11-14 20:54:33 ERROR (MainThread) [homeassistant.setup] Setup failed for frontend: Could not set up all dependencies.
2019-11-14 20:54:33 ERROR (MainThread) [homeassistant.setup] Unable to set up dependencies of map. Setup failed for dependencies: frontend
2019-11-14 20:54:33 ERROR (MainThread) [homeassistant.setup] Setup failed for map: Could not set up all dependencies.
2019-11-14 20:54:33 ERROR (MainThread) [homeassistant.setup] Unable to set up dependencies of logbook. Setup failed for dependencies: frontend
2019-11-14 20:54:33 ERROR (MainThread) [homeassistant.setup] Setup failed for logbook: Could not set up all dependencies.
2019-11-14 20:56:13 ERROR (MainThread) [homeassistant.setup] Setup failed for mobile_app: Unable to import component
2019-11-14 20:56:13 ERROR (MainThread) [homeassistant.setup] Unable to set up dependencies of default_config. Setup failed for dependencies: config, frontend, history, logbook, map, mobile_app
2019-11-14 20:56:13 ERROR (MainThread) [homeassistant.setup] Setup failed for default_config: Could not set up all dependencies.
2019-11-14 21:00:13 WARNING (zeroconf-ServiceBrowser__axis-video._tcp.local.) [zeroconf] Exception occurred:
Traceback (most recent call last):
File “/srv/homeassistant/lib/python3.8/site-packages/zeroconf.py”, line 2245, in send
bytes_sent = s.sendto(packet, 0, (addr, port))
OSError: [Errno 22] Invalid argument
^C2019-11-14 21:03:24 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File “/srv/homeassistant/lib/python3.8/site-packages/homeassistant/components/ssdp/init.py”, line 60, in async_scan
entries = await self.hass.async_add_executor_job(ssdp.scan)
File “/srv/homeassistant/lib/python3.8/site-packages/homeassistant/core.py”, line 343, in async_add_executor_job
task = self.loop.run_in_executor(None, target, *args)
File “/usr/local/lib/python3.8/asyncio/base_events.py”, line 775, in run_in_executor
executor.submit(func, *args), loop=self)
File “/usr/local/lib/python3.8/concurrent/futures/thread.py”, line 179, in submit
raise RuntimeError(‘cannot schedule new futures after shutdown’)
RuntimeError: cannot schedule new futures after shutdown

I spent a lot of time googling how to upgrade Python and install HA into virtualenv. I have tried some slightly different variations of instructions (they match official versions in general). Nothing helped.
What I did wrong?
I don’t want to use docker but it seems to me that I have to…

Why not?

If you were using Docker, you wouldn’t have any issues with python dependencies.