Aller au contenu

Support de PyInstaller

PyInstaller permet d’empaqueter une application Python avec ses dépendances dans un seul exécutable.

Il est possible d’empaqueter une application qui utilise Apprise, mais il y a une petite subtilité.

Prenons un script simple :

from apprise import Apprise
apobj = Apprise()
apobj.add('<SCHEME>://<FQDN>/<TOKEN>')
apobj.notify(title="a title", body="this is the body of the notification")

Puis empaquetez-le avec pyinstaller :

Fenêtre de terminal
pyinstaller -F myscript.py

Et lancez-le :

Fenêtre de terminal
./dist/myscript

On obtient :

FileNotFoundError: [Errno 2] No such file or directory: '/tmp/_MEIEbGkgo/apprise/attachment'
or
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/_MEIEbGkgo/apprise/plugins'
or
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/_MEIEbGkgo/apprise/config'

Il faut utiliser l’option --collect-all qui, d’après la documentation :

Collect all submodules, data files, and binaries from the specified package or module. This option can be used multiple times.

Fenêtre de terminal
pyinstaller -F --collect-all apprise myscript.py

Plus d’erreurs, les notifications sont envoyées.

Questions ou commentaires ?

Documentation

Vous avez repéré une faute de frappe ou une erreur ? Signalez-la ou proposez une correction .

Problèmes Techniques

Vous rencontrez un problème avec le code ? Ouvrez un ticket sur GitHub :

Conçu avec amour depuis le Canada