Missing file in binary installation
I try to use the binary installation on a small Debian system and got some error about babel file when I go to pages with table, for example when I go to the url /users
When using installation with pip it is working.
The error in the log is:
[2025-11-30 17:25:06,069] - 192.168.27.90 - ERROR in app: Exception on /users [GET]
Traceback (most recent call last):
File "flask/app.py", line 1511, in wsgi_app
File "flask/app.py", line 919, in full_dispatch_request
File "flask/app.py", line 917, in full_dispatch_request
File "flask/app.py", line 902, in dispatch_request
File "canaille/app/flask.py", line 60, in decorator
File "canaille/core/endpoints/account.py", line 143, in users
File "canaille/app/flask.py", line 120, in render_htmx_template
File "canaille/app/templating.py", line 19, in render_template
File "flask/templating.py", line 150, in render_template
File "flask/templating.py", line 131, in _render
File "jinja2/environment.py", line 1295, in render
File "jinja2/environment.py", line 942, in handle_exception
File "/tmp/_MEIWdfu9t/canaille/templates/core/users.html", line 15, in top-level template code
{% import "macro/table.html" as table %}
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/_MEIWdfu9t/canaille/templates/base.html", line 188, in top-level template code
{% block container %}
File "/tmp/_MEIWdfu9t/canaille/templates/base.html", line 192, in block 'container'
{% block content %}{% endblock %}
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/_MEIWdfu9t/canaille/templates/core/users.html", line 50, in block 'content'
{% include "core/partial/users.html" %}
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/_MEIWdfu9t/canaille/templates/core/partial/users.html", line 98, in top-level template code
{{ table.pagination(table_form) }}
^^^^^^^^^^^^^^^^^^^^^^^^^
File "jinja2/runtime.py", line 784, in _invoke
File "/tmp/_MEIWdfu9t/canaille/templates/macro/table.html", line 87, in template
{{ form.page.data|numberformat }}
^^^^^^^^^^^^^^^^^^^^^^^^^
File "flask_babel/__init__.py", line 483, in format_number
File "babel/numbers.py", line 583, in format_decimal
File "babel/core.py", line 699, in decimal_formats
File "babel/core.py", line 464, in _data
File "babel/localedata.py", line 161, in load
File "babel/localedata.py", line 163, in load
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/_MEIWdfu9t/babel/locale-data/root.dat'
I create a Docker file to simulate my installation and for easy reproduction of the problem:
FROM debian:trixie
EXPOSE 5010
RUN useradd canaille -m
RUN apt-get update && \
apt-get install -y wget && \
## Uncomment to test with pip
# apt-get install -y pipx && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
USER canaille
WORKDIR /home/canaille
RUN wget https://github.com/yaal-coop/canaille/releases/download/0.1.0/canaille && \
chmod +x canaille
## uncomment to test with pip
#RUN pipx install "canaille[front,oidc,sqlite,server]"
#RUN ln -s /home/canaille/.local/bin/canaille /home/canaille/canaille
ENV SECRET_KEY = "ABIGGSECRETFORTESTABIGGSECRETFORTEST12345678901234567890"
ENV SERVER_NAME = "test.example.com"
RUN ./canaille install && \
./canaille create user \
--user-name admin \
--password admin \
--emails admin@mydomain.example \
--given-name George \
--family-name Abitbol \
--formatted-name "George Abitbol"
CMD [ "/home/canaille/canaille", "run", "--bind", "0.0.0.0:5010"]