导入错误:CamembertTokenizer 需要 SentencePiece 库,但在您的环境中找不到它

问题描述 投票:0回答:0

我尝试从 Python 代码创建 .exe。这是我的 .spec : # -- 模式:python ;编码:utf-8 --

from PyInstaller.utils.hooks import copy_metadata

datas = [("C:/Users/pierr/OneDrive/Bureau/Projet_perso/Traitement BPU 2.1/BT42.xlsx","."),
    ("C:/Users/pierr/OneDrive/Bureau/Projet_perso/Traitement BPU 2.1/finetuned_camembert/*", "finetuned_camembert"),
    ("C:/Users/pierr/OneDrive/Bureau/Projet_perso/Traitement BPU 2.1/donnees_embeddings.npy","."),
    ("C:/Users/pierr/OneDrive/Bureau/Projet_perso/Traitement BPU 2.1/donnees_gagnanteslabels.xlsx","."),
    ("C:/Users/pierr/OneDrive/Bureau/Projet_perso/Traitement BPU 2.1/données_gagnants_labels_sans_autres.xlsx","."),
    ("C:/Users/pierr/OneDrive/Bureau/Projet_perso/Traitement BPU 2.1/données_test.xlsx","."),
    ("C:/Users/pierr/OneDrive/Bureau/Projet_perso/Traitement BPU 2.1/exemple.png","."),
    ("C:/Users/pierr/OneDrive/Bureau/Projet_perso/Traitement BPU 2.1/venv/lib/site-packages/sentencepiece/*","sentencepiece")]
datas += copy_metadata('tqdm')
datas += copy_metadata('transformers')
datas += copy_metadata('regex')
datas += copy_metadata('sacremoses')
datas += copy_metadata('requests')
datas += copy_metadata('packaging')
datas += copy_metadata('filelock')
datas += copy_metadata('numpy')
datas += copy_metadata('tokenizers')
datas += copy_metadata('importlib_metadata')

block_cipher = None

a = Analysis(['main.py'],
         pathex=["C:/Users/pierr/OneDrive/Bureau/Projet_perso"],
         binaries=[("C:/Users/pierr/Documents/Lib/site-packages/torch/lib/torch_python.dll", "."),
                   ("C:/Users/pierr/Documents/Lib/site-packages/torch/lib/torch_cpu.dll", "."),
                   ("C:/Users/pierr/Documents/Lib/site-packages/torch/lib/c10.dll", "."),
                   ("C:/Users/pierr/OneDrive/Bureau/Projet_perso/Traitement BPU 2.1/venv/Lib/site-packages/sentencepiece/_sentencepiece.cp37-win_amd64.pyd", "."),
                   ("C:/Users/pierr/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0/LocalCache/local-packages/Python39/site-packages/tensorflow/python/_pywrap_tensorflow_internal.pyd", ".")],
         datas=datas,
         hiddenimports=["scikit-learn", "tqdm", "transformers", "sentencepiece"],
         hookspath=[],
         runtime_hooks=[],
         excludes=[],
         win_no_prefer_redirects=False,
         win_private_assemblies=False,
         cipher=block_cipher,
         noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
         cipher=block_cipher)
exe = EXE(pyz,
      a.scripts,
      a.binaries,
      a.zipfiles,
      a.datas,
      [],
      name='main',
      debug=False,
      bootloader_ignore_signals=False,
      strip=False,
      upx=True,
      upx_exclude=[],
      runtime_tmpdir=None,
      console=True , icon='C:/Users/pierr/Downloads/logo_sef.ico')

这是我启动 .exe 时遇到的错误:(venv) C:\Users\pierr\OneDrive\Bureau\Projet_perso\Traitement BPU 2.1\dist>main.exe 尚未找到 PyTorch、TensorFlow >= 2.0 或 Flax。模型将不可用,只能使用标记器、配置和文件/数据实用程序。 回溯(最近一次调用最后一次): 文件“main.py”,第 8 行,位于 文件“PyInstaller\loader\pyimod02_importers.py”,第 385 行,在 exec_module 中 文件“core_2.py”,第 29 行,位于 文件“transformers\utils\import_utils.py”,第 1026 行,位于 getattribute 文件“transformers\utils\import_utils.py”,第 1014 行,在 require_backends 中 导入错误: CamembertTokenizer 需要 SentencePiece 库,但在您的环境中找不到它。查看
上的说明 其存储库的安装页面:https://github.com/google/sentencepiece#installation并按照以下步骤操作 符合您的环境。请注意,安装后您可能需要重新启动运行时。

[46776] Failed to execute script 'main' due to unhandled exception!

创建一个.exe,就不会出现此错误。

python exe huggingface-transformers sentencepiece
© www.soinside.com 2019 - 2024. All rights reserved.