使用 pyinstaller --onefile 生成 .exe 时包含查询文件
Include query files when generating .exe with pyinstaller --onefile
我正在 Python 中开发一个程序,它读取包含 SQL 查询的文本文件。要生成 .exe,我使用带有 --onefile 选项的 Pyinstaller。问题是每当我 运行 这个可执行文件时,如果它不在与查询文件夹相同的文件夹中,它就不起作用。我希望在没有 Queries 文件夹的情况下单独分发此 .exe,因此我需要一些方法将此文件夹包含在可执行文件中。
我尝试按照 this link 中的解决方案编辑 .spec 文件,但似乎我并没有真正理解它,因为我无法管理它的工作。经过进一步搜索,我无法解决这个问题。
任何帮助将不胜感激!
一个快速的选择,可能是根据您的查询创建一个 python 模块。
myQueries.py:
query_1 = """Select * from foo"""
query_2 = """Select * from bar"""
然后你可以在你的程序中导入它:
import myQueries
db.execute(myQueries.query_1)
...
这个问题的答案是 this question and this other question
中提供的答案的组合
我正在 Python 中开发一个程序,它读取包含 SQL 查询的文本文件。要生成 .exe,我使用带有 --onefile 选项的 Pyinstaller。问题是每当我 运行 这个可执行文件时,如果它不在与查询文件夹相同的文件夹中,它就不起作用。我希望在没有 Queries 文件夹的情况下单独分发此 .exe,因此我需要一些方法将此文件夹包含在可执行文件中。
我尝试按照 this link 中的解决方案编辑 .spec 文件,但似乎我并没有真正理解它,因为我无法管理它的工作。经过进一步搜索,我无法解决这个问题。
任何帮助将不胜感激!
一个快速的选择,可能是根据您的查询创建一个 python 模块。 myQueries.py:
query_1 = """Select * from foo"""
query_2 = """Select * from bar"""
然后你可以在你的程序中导入它:
import myQueries
db.execute(myQueries.query_1)
...
这个问题的答案是 this question and this other question
中提供的答案的组合