Bonjour à tous,
Je débute en programmation Python mais j'ai réussi à créer l'application dont j'avais besoin.
J'arrive à exécuter l'application en interne dans Visual Studio, tout fonctionne parfaitement.
Mais lorsque j'utilise Pyinstaller ou Auto-py-to-exe pour créer un fichier exécutable, j'ai un problème avec un dossier "static". L'application ne se lance pas et affiche un message d'erreur :

Traceback (most recent call last):
File "main.py", line 12, in <module>
File "starlette\staticfiles.py", line 56, in __init__
RuntimeError: Directory '.venv\Lib\site-packages\bootstrap4\statics' does not exist

Même en le créant manuellement, en changeant le chemin d'accès, rien n'y fait.
Je m'arrache les cheveux que je n'ai plus beaucoup et je ne trouve pas la solution sur Internet.
Voici le début de mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import os
import pymupdf
import tkinter as tk
import bootstrap4
from tkinter import filedialog, messagebox
from tkinter import PhotoImage 
from ttkbootstrap import Style, ttk
from starlette.applications import Starlette
from starlette.routing import Mount
from starlette.staticfiles import StaticFiles
 
routes = [ Mount('/statics', app=StaticFiles(directory=os.path.join(os.path.dirname('.venv\\Lib\\site-packages\\bootstrap4\\statics'), 'statics')), name="statics"), ]
 
app = Starlette(routes=routes)
 
def install_pymupdf():
    """
    Vérifie si PyMuPDF est installé et propose de l'installer si nécessaire.
    """
    try:
        import fitz
    except ImportError:
        print("La bibliothèque PyMuPDF (fitz) n'est pas installée. Installez-la avec : pip install pymupdf")
        exit(1)
J'ai tenté de mettre le chemin d'accès complet vers le dossier et le chemin relatif mais cela n'a rien changé, je présume qu'il s'agit d'un soucis avec Starlette ou Bootstrap, ou les deux.

Je vous remercie d'avance.