The answer wasnβt facetious β¦ but if you want to take it that way, have at it.
If your using the community plugin you can do this
iocage console $JAIL_NAME
# press 0 to exit menu
pkg install -y python39 py39-sqlite3
sysrc homeassistant_python=/usr/local/bin/python3.9
service homeassistant reinstall homeassistant
If you installed HA manually in a jail you can follow this post
I also updated the OP for Python 3.9
Thanks Troy, very useful for confirmation. Have run this and it all works great.
Me too. All works a treat.
Hi all - trying this on a fresh install of Freebsd 13.2-RELEASE in a jail, and itβs failing on installing PyYAML-6.0. Has anyone run this successfully recently?
Collecting pyyaml==6.0 (from homeassistant)
Downloading PyYAML-6.0.tar.gz (124 kB)
ββββββββββββββββββββββββββββββββββββββββ 125.0/125.0 kB 9.1 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error
Γ Getting requirements to build wheel did not run successfully.
β exit code: 1
β°β> [48 lines of output]
running egg_info
writing lib/PyYAML.egg-info/PKG-INFO
writing dependency_links to lib/PyYAML.egg-info/dependency_links.txt
writing top-level names to lib/PyYAML.egg-info/top_level.txt
Traceback (most recent call last):
File "/srv/homeassistant/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
main()
File "/srv/homeassistant/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/srv/homeassistant/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
File "/tmp/pip-build-env-n5r9wj56/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
File "/tmp/pip-build-env-n5r9wj56/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires
self.run_setup()
File "/tmp/pip-build-env-n5r9wj56/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 338, in run_setup
exec(code, locals())
File "<string>", line 288, in <module>
File "/tmp/pip-build-env-n5r9wj56/overlay/lib/python3.9/site-packages/setuptools/__init__.py", line 107, in setup
return distutils.core.setup(**attrs)
File "/tmp/pip-build-env-n5r9wj56/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
File "/tmp/pip-build-env-n5r9wj56/overlay/lib/python3.9/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/tmp/pip-build-env-n5r9wj56/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
File "/tmp/pip-build-env-n5r9wj56/overlay/lib/python3.9/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/tmp/pip-build-env-n5r9wj56/overlay/lib/python3.9/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/tmp/pip-build-env-n5r9wj56/overlay/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 314, in run
self.find_sources()
File "/tmp/pip-build-env-n5r9wj56/overlay/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 322, in find_sources
mm.run()
File "/tmp/pip-build-env-n5r9wj56/overlay/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 551, in run
self.add_defaults()
File "/tmp/pip-build-env-n5r9wj56/overlay/lib/python3.9/site-packages/setuptools/command/egg_info.py", line 589, in add_defaults
sdist.add_defaults(self)
File "/tmp/pip-build-env-n5r9wj56/overlay/lib/python3.9/site-packages/setuptools/command/sdist.py", line 104, in add_defaults
super().add_defaults()
File "/tmp/pip-build-env-n5r9wj56/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py", line 251, in add_defaults
self._add_defaults_ext()
File "/tmp/pip-build-env-n5r9wj56/overlay/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py", line 336, in _add_defaults_ext
self.filelist.extend(build_ext.get_source_files())
File "<string>", line 204, in get_source_files
File "/tmp/pip-build-env-n5r9wj56/overlay/lib/python3.9/site-packages/setuptools/_distutils/cmd.py", line 107, in __getattr__
raise AttributeError(attr)
AttributeError: cython_sources
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error
Γ Getting requirements to build wheel did not run successfully.
β exit code: 1
β°β> See above for output.
I canβt really help with this error in particular but it looks like youβre using Python 3.9 which has not been supported for some time now. As of Home Assistant 2023.8, you will need Python 3.11.
This was documented in 2023.6 Breaking Changes
Python
All Home Assistant versions, of which the Home Assistant project manages the Python version for you, have been upgraded to Python 3.11. This affects the following installation types:
- Home Assistant Operating System
- Home Assistant Container
- Home Assistant Supervised
This might affect you when using custom integrations, as those must be compatible with Python 3.11.
Furthermore, as of this release, Python 3.10 is deprecated, and support will be removed in Home Assistant 2023.8. This only affects you if you are running Home Assistant Core installation type in your own Python virtual environment. Please update your Python version to Python 3.11.
If you run Home Assistant OS, Home Assistant Container, or Home Assistant Supervised, we have taken care of this for you; you will be using Python 3.11 automatically on upgrade.
Maybe upgrading to a supported version of Python will help. Keep in mind, with this installation method youβll need to upgrade Python and rebuild your virtual environment every year.
If you really want to run Home Assistant on TrueNAS, you can use this script I created a while back. It is still using python3.10 because 3.11 is having issue with one of the packages (PyTurboJPEG) or something.