制作 llama 索引应用程序的 exe

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

我在使用 pyinstaller 构建 exe 时遇到了一个奇怪的错误。我使用 conda 虚拟环境,较小的应用程序可以编译正常。然而它给了我一个错误:

FileNotFoundError:[Errno 2]没有这样的文件或目录:'C:\ Users \ me \ AppData \ Local \ Temp \ _MEI140402 \ llama_index \ VERSION'

奇怪的是,该程序在我的系统上运行一切正常,但我在制作这个 exe 时遇到了很多问题。当我在本地运行时,临时文件夹中没有这样的文件。

还有其他选项来分发我的代码吗?

# -*- mode: python ; coding: utf-8 -*-


a = Analysis(
    ['run.py'],
    pathex=[ all extra paths ],
    binaries=[],
    datas=[('added_hook.py', '.'),
    ],
    hiddenimports=['docmaker'],
    hookspath=['all hooks' ],
    hooksconfig={},
    runtime_hooks=[],
    excludes=[],
    noarchive=False,
)
pyz = PYZ(a.pure)

exe = EXE(
    pyz,
    a.scripts,
    a.binaries,
    a.datas,
    [],
    name='run',
    debug=False,
    bootloader_ignore_signals=False,
    strip=False,
    upx=True,
    upx_exclude=[],
    runtime_tmpdir=None,
    console=True,
    disable_windowed_traceback=False,
    argv_emulation=False,
    target_arch=None,
    codesign_identity=None,
    entitlements_file=None,
)

coll = COLLECT(
    exe,
    a.binaries,
    a.datas,
    strip=False,
    upx=True,
    upx_exclude=[],
    name='run',
)

我将所有路径添加到我的路径中,以便 pyinstaller 会选择它,甚至是临时文件夹。

我还添加了一个名为added_hook.py 的py 文件,它通过代码添加了更多资源。我尝试这样做是为了确保 pyinstaller 会收集更多文件来编译 .exe

从 PyInstaller.utils.hooks 导入collect_data_files

指示 PyInstaller 从“资源”包中收集数据文件。

数据=collect_data_files('资源')

pyinstaller exe llama
1个回答
0
投票

有同样的问题。丢失的文件位于 llama_index/ 软件包安装目录本身中。不知道如何通过 pyinstaller 包含此文件

对我有用的讨厌的黑客:(但随后炸毁了变压器未安装的想法......)

数据+= [('.venv/lib/python3.11/site-packages/llama_index/VERSION', 'llama_index/')]

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