[Python] Error creating PyInstaller executable with Sentence Transformers model and Anaconda...

Discussão em 'Python' iniciado por Stack, Maio 28, 2025.

  1. Stack

    Stack Membro Participativo

    I'm trying to create an executable from a Python script using PyInstaller in an Anaconda environment. My script uses the Sentence Transformers library and loads a pre-trained model from a local folder (models/). Additionally, the project has several dependencies listed in a requirements.txt file.

    The folder structure is as follows:

    my_project/
    ├── app.py
    ├── extension_app.py
    ├── requirements.txt
    └── models/
    └── st_model/
    ├── config.json
    ├── config_sentence_transformers.json
    └── ...


    To create the executable, in my Anaconda environment, I used the following command: pyinstaller --onefile --windowed ^ --add-data "models;models" ^ --name "App" ^ app.py.

    When I tried to run the .exe, this error appeared:

    Traceback (most recent call last):
    File "app.py", line 10, in <module>
    File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
    File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
    File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
    File "PyInstaller\loader\pyimod02_importers.py", line 450, in exec_module
    File "sentence_transformers\__init__.py", line 14, in <module>
    File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
    File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
    File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
    File "PyInstaller\loader\pyimod02_importers.py", line 450, in exec_module
    File "sentence_transformers\cross_encoder\__init__.py", line 3, in <module>
    File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
    File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
    File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
    File "PyInstaller\loader\pyimod02_importers.py", line 450, in exec_module
    File "sentence_transformers\cross_encoder\CrossEncoder.py", line 19, in <module>
    File "<frozen importlib._bootstrap>", line 1075, in _handle_fromlist
    File "transformers\utils\import_utils.py", line 2045, in __getattr__
    module = self._get_module(self._class_to_module[name])
    File "transformers\utils\import_utils.py", line 2075, in _get_module
    raise e
    File "transformers\utils\import_utils.py", line 2073, in _get_module
    return importlib.import_module("." + module_name, self.__name__)
    File "importlib\__init__.py", line 126, in import_module
    File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
    File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
    File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
    File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
    File "PyInstaller\loader\pyimod02_importers.py", line 450, in exec_module
    File "transformers\models\__init__.py", line 341, in <module>
    sys.modules[__name__] = _LazyModule(__name__, _file, define_import_structure(_file), module_spec=__spec__)
    File "transformers\utils\import_utils.py", line 2594, in define_import_structure
    import_structure = create_import_structure_from_path(module_path)
    File "transformers\utils\import_utils.py", line 2305, in create_import_structure_from_path
    for f in os.listdir(module_path):
    FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\\Users\\User\\AppData\\Local\\Temp\\_MEI362482\\transformers\\models\\__init__.pyc'


    The imports in my code (app.py) are:

    import customtkinter as ctk
    import os
    import shutil
    import re
    import dateparser
    from PyPDF2 import PdfReader
    import docx
    from PIL import Image
    import pytesseract
    from sentence_transformers import SentenceTransformer, util
    import CTkMessagebox
    import extension_app # extension_app.py
    import threading
    import sys
    import os

    # Code...

    Continue reading...

Compartilhe esta Página