Servus an das Forum,
Ich wende mich an Sie, weil ich ein Problem bei der Nutzung der threema.gateway auf Servern habe.
Beim Einsatz der Bibliothek in serverlosen Python-Funktionen von Vercel (ähnlich zu AWS Lambda) erhalte ich die folgende Fehlermeldung:
--------
[ERROR] OSError: Could not locate nacl lib, searched for libsodium.so, libsodium.so.23, libsodium.so.18, libsodium.so.17, libsodium.so.13, libsodium.so.10, libsodium.so.5, libsodium.so.4,
Traceback (most recent call last):
File "/var/task/api/index.py", line 1, in <module>
from threema.gateway import Connection, GatewayError
File "/var/task/threema/gateway/__init__.py", line 26, in <module>
from . import _gateway
File "/var/task/threema/gateway/_gateway.py", line 4, in <module>
import libnacl.encode
File "/var/task/libnacl/__init__.py", line 87, in <module>
nacl = _get_nacl()
File "/var/task/libnacl/__init__.py", line 83, in _get_nacl
raise OSError(msg)INIT_REPORT Init Duration: 830.34 ms Phase: invoke Status: error Error Type: Runtime.Unknown
------
So wie ich die Situation verstehe: Die Importanweisung von threema.gateway löst das Laden des libnacl-Moduls aus. Das libnacl-Modul versucht, die gemeinsam genutzten Bibliotheksdateien für libsodium zu finden. Es sucht nach verschiedenen Versionen der Bibliothek, kann aber keine davon finden. Die Initialisierungsfunktion _get_nacl() von libnacl versucht, die gemeinsam genutzte Bibliothek zu finden und zu laden, und wenn dies fehlschlägt, wird ein OSError mit einer detaillierten Meldung ausgegeben.
Da ich keine Möglichkeit habe, die Serverkonfiguration oder Einstellungen auf Vercel zu ändern, möchte ich Sie um Unterstützung bitten.
Gibt es eine bekannte Lösung oder eine Methode, um diese Abhängigkeit in meiner Umgebung korrekt zu integrieren? Ich danke Ihnen im Voraus für Ihre Hilfe und Unterstützung.
Mit freundlichen Grüssen