gpt4 book ai didi

python - pyinstaller:无法加载配置文件

转载 作者:太空宇宙 更新时间:2023-11-03 14:54:16 26 4
gpt4 key购买 nike

我有一个非常基本的 Flask 应用程序,它导入一个配置文件,如下所示:

app.config.from_pyfile('config.py')

我正在尝试使用 PyInstaller 捆绑此 Flask 应用程序,它会分析所有导入以创建其依赖项列表。由于 config.py 未显式导入,因此我相信我需要将其添加为附加数据文件。每this SO question我尝试过以下方法:

pyinstaller --onefile --add-data "config.py:config.py"

但是,当我运行捆绑的可执行文件时,出现以下错误:

FileNotFoundError: [Errno 2] Unable to load configuration file (No such file or directory): 'Users/Johnny/config.py'

当我显式导入配置文件时,一切正常:

from config import *

但我宁愿弄清楚为什么我最初的方法不起作用。请注意,我正在运行 macOS 10.12.5 和 python 3.4.5

最佳答案

想通了。需要准确指定此配置文件的位置,该文​​件在捆绑应用程序时会发生变化 ( run-time information ):

import sys, os

if getattr(sys, 'freeze', False):
# running as bundle (aka frozen)
bundle_dir = sys._MEIPASS
else:
# running live
bundle_dir = os.path.dirname(os.path.abspath(__file__))

app.config.from_pyfile(os.path.join(bundle_dir, 'config.py'))

此外,通过 pyinstaller 生成 bundle 的命令应该是:

pyinstaller --onefile --add-data './config.py:.'

它获取 config.py 并将其添加到捆绑应用程序的顶层 ( adding data files )。

关于python - pyinstaller:无法加载配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45697428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com