我正在使用pyinstaller在OS X上为我的pipenv项目创建一个可执行文件。我运行pipenv run pyinstaller --onefile myscript.py
会导致3件事-build/
,dist/
和myscript.spec
。我有一个用于项目的配置文件,并将其添加到此捆绑包中,然后运行pipenv run pyinstaller --onefile --add-data 'config.json:.' myscript.py
,该文件已添加到myscript.spec中。我想了解两件事-
根据文档,我需要向用户提供dist/
文件夹中的可执行文件。他们将在不依赖任何其他内容的情况下执行该文件吗?
我是否还需要将config.json文件提供给每个用户?据我了解,我们在规格中添加了配置文件的路径。
答案 0 :(得分:0)
-onefile标志创建一个可移植文件。
您在(1.)中的假设是正确的;您不必为用户提供配置文件,因为该文件是在运行时从.exe中提取的,只要它已正确包含即可。
为明确起见,引导程序会在Windows的temp-folder目录中创建一个临时文件夹,该文件将与您所需的其他所有内容一起提取.config文件,然后从那里运行。在以下链接中对此进行了很好的描述:https://pythonhosted.org/PyInstaller/operating-mode.html