运行时错误:由于以下错误,无法导入transformers.models.clip.processing_clip

问题描述 投票:0回答:1
RuntimeError: Failed to import transformers.models.clip.processing_clip because of the following error (look up to see its traceback):
[Errno 2] No such file or directory: 'C:\\Users\\xxx\\AppData\\Local\\Temp\\_MEI135322\\transformers\\__init__.py'

我正在尝试使用具有 Sentence_transformers 库的脚本的 pyinstaller 创建一个 .exe 文件。

这是我用来运行 pyinstaller 的一行命令(调整可读性):

pyinstaller --onefile \
            --hidden-import=torch \
            --collect-data torch \
            --copy-metadata torch \
            --collect-data tqdm \
            --copy-metadata tqdm \
            --collect-data regex \
            --copy-metadata regex \
            --collect-data sacremoses \
            --copy-metadata sacremoses \
            --collect-data requests \
            --copy-metadata requests \
            --collect-data packaging \
            --copy-metadata packaging \
            --collect-data filelock \
            --copy-metadata filelock \
            --collect-data numpy \
            --copy-metadata numpy \
            --collect-data tokenizers \
            --copy-metadata tokenizers \
            --collect-data importlib_metadata \
            --copy-metadata importlib_metadata \
            --hidden-import="sklearn" \
            --copy-metadata huggingface-hub \
            --copy-metadata safetensors \
            --copy-metadata PyYAML \
            --hidden-import="sklearn.neighbors._typedefs" \
            --hidden-import="matplotlib" \
            --additional-hooks-dir=. \
            my_script.py

我找不到更多有关此错误的资源,我希望我可以从这里获得一些线索。如果我在这个问题中遗漏了任何重要信息,请告诉我。感谢所给出的任何建议。谢谢你。

python scikit-learn pyinstaller sentence-transformers
1个回答
0
投票

_MEI135322 文件夹是由 pyinstaller 创建的临时文件,其中包含运行 exe 文件所需的所有文件。在运行可执行文件时查看文件夹,我发现文件夹中没有“transformers”文件。

这就是我所做的:

  1. 仔细检查我是否在cmd中使用“pip list”安装了句子转换器和转换器。

  2. 在cmd中使用“pip showtransformers”或“pipshowsentence-transformers”获取这些模块的安装路径。

  3. 找到模块的完整路径后,将 --add-data ";transformers" 或 --add-data ";sentence_transformers" 添加到 pyinstaller 命令中。

我之前确实使用过 --hidden-import ,但我不确定为什么它在打包过程中没有包含它。上述步骤通过将 pyinstaller 直接定向到模块的位置为我解决了这个问题。希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.