howdy

Howdy installation failure fix for Ubuntu 23.x

Recently I moved from Fedora 38 to Ubuntu. After the move, I was faced with a rather difficult situation. Howdy wouldn’t install or fail to install. The error looked like this :

error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.

If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.

If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.

See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your
Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
Error while running last command
dpkg: error processing package howdy (--configure):
installed howdy package post-installation script subprocess returned error exit status 1
Processing triggers for man-db (2.11.2-3) ...
Errors were encountered while processing:
howdy

So why does Howdy fail to install?

The reason? Python 3.11. Ubuntu 23.04 introduced this new Python version which was causing new howdy installations to break. After much Googling, I found that adding a certain parameter via root helped fix the issue. adding via sudo did not work for me. I also had to install Howdy via root. Here are the steps:

~$ sudo su - 
~# pip install -t /lib/security/howdy dlib
~# export PIP_BREAK_SYSTEM_PACKAGES=1
~# apt install howdy

The second step is to fix the module configparser. This module’s name was changed from ConfigParser to configparser. The above export exception will help you to install the application without errors. However, it does not activate the authentication triggers. The reason for that, you can see in journalctl .

configparser-error

So to fix the above error, you have to get to the file shown in the error and replace ConfigParser with configparser on line nos 10 and 13

sudo vim /ib/security/howdy/pam.py

updated lines would look like the ones below

import configparser
config = configparser.ConfigParser()

Once done, you can install and add your Windows Hello styled authentication as usual. I tested this on Ubuntu 23.04 and 23.10, and the workaround worked. This is a rather unwanted workaround however that is the only way to get face authentication working until the devs fix it.

Source

Leave a Reply

tuxtrixmod
Scroll to Top