我最近使用 pdfkit 创建了一个应用程序,它接受用户输入的关键字并使用该关键字进行各种互联网搜索。然后它使用 pdfkit 生成每个单独搜索的 pdf 文件并将它们保存到用户定义的目录中。
当我从终端运行代码时,一切正常,但是当我尝试使用 py2app 冻结脚本时,一切正常,直到实际保存 pdf 文件,在此应用程序完全不执行任何操作。
我尝试在 py2app 用于创建应用程序的 setup.py 文件中包含 pdfkit 和 wkhtmltopdf,但不幸的是,我尝试将它们列在包含部分下,如下所示:
'includes':['requests','pdfkit']
在包部分:
'packages':['requests','pdfkit']
甚至在下面的 setup_requires 部分:
setup_requires=['py2app', 'wkhtmltopdf']
但是应用程序仍然什么都不做。我认为这与依赖项不会转移到冻结的应用程序这一事实有关。但是,我开始重新考虑这一点,因为即使我在别名模式下创建应用程序(声称保留所有依赖项),也会出现同样的问题。
这是一个已知的问题?或者有没有人找到解决这个问题的方法。
非常感谢。我的完整 setup.py 文件如下:
from setuptools import setup
APP = ['pdtest.py']
DATA_FILES = []
OPTIONS = {'argv_emulation': False, 'includes':['requests','pdfkit'],'packages':['requests','pdfkit'], 'iconfile':'icon.icns'}
setup(
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app', 'wkhtmltopdf'],
)