MENU

Knowledge Oasisは主にAIとAWSの知識を共有するブログです。その他ITに関する知識やまれに生活に役立つ知識も共有するかもしれません。

KOふみ
名前はKOふみ(こふみ)。独立系SIerで20年のキャリアを持ち、新人研修の講師から請負開発まで幅広く経験。現在はAIを駆使したソリューション開発に従事。資格は応用情報技術者、データベーススペシャリスト、プロジェクトマネージャー、PMP、簿記2級。AWS学習中で、将来はAWSアンバサダーを目指す。

tiktokenをpyinstallerでexe化する際に発生する「ValueError: Unknown encoding cl100k_base.」の対処法

tiktokenをpyinstallerでexe化する際に発生する「ValueError: Unknown encoding cl100k_base.」の対処法
  • URLをコピーしました!

AIエージェントアプリを構築し、pyinstallerでexe化して配布しようとしたところ、ValueError: Unknown encoding cl100k_base. が発生しました。対処方法を記録しておきます。

目次

エラー内容

LangGraphとLangChainのLLMにOpenAIを用いたアプリケーションをpyinstallerでexe化し実行したところ以下のエラーが発生しました。

Traceback (most recent call last):
File “chat.py”, line 175, in
File “tiktoken\registry.py”, line 79, in get_encoding
ValueError: Unknown encoding cl100k_base.
Plugins found: []
tiktoken version: 0.8.0 (are you on latest?)

exe化する前のPythonスクリプトの状態では動いていたのでpyinstallerでのexe化が上手くいっていないようです。

原因

exe化の際に以下の2つのライブラリが不足していることが原因です。

  • tiktoken_ext
  • tiktoken_ext.openai_public

対応方法

.spec ファイルのhiddenimportsに不足しているライブラリを追加することで対応できます。

a = Analysis(
    ['main.py'],
    pathex=[],
    binaries=[],
    datas=[],
    hiddenimports=[
        "tiktoken_ext",
        "tiktoken_ext.openai_public",
    ],
    hookspath=[],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    noarchive=False,
    optimize=0,
)

まとめ

同じエラーになっている人が多いようでGitHubのFAQに対応方法が載っていました。このページのPackagingの部分です。エラーが発生した際にGitHubを見ると解決できることもあります。英語でとっつきにくいかもしれませんが、DeepLなどを駆使して読んでいきましょう。

  • URLをコピーしました!

コメント

コメントする

目次