我正在尝试使用Esky更新和冻结 python 应用程序。但是,应用程序的一部分包括静态文件。
Esky 的行为方式是在文件夹之外创建第二个 .exe,其中包含我所包含的所有 python 库和静态数据。
当我从文件夹本身运行 exe 时,一切正常,但是当我运行 esky 创建的 'bootstrap' exe 时,它找不到静态数据(因为它不在同一个相对位置)。
我想我可以对 esky 创建的文件夹进行硬编码,但我无法想象这是最好的方法。
有人有任何有用的提示/技巧/解决方案吗?
编辑:包含来自 esky docs 的文件夹结构
prog.exe - esky bootstrapping executable
appdata/ - container for all the esky magic
appname-X.Y.platform/ - specific version of the application
prog.exe - executable(s) as produced by freezer module
library.zip - pure-python frozen modules
pythonXY.dll - python DLL
esky-files/ - esky control files
bootstrap/ - files not yet moved into bootstrapping env
bootstrap-manifest.txt - list of files expected in bootstrap env
lockfile.txt - lockfile to block removal of in-use versions
...other deps...
updates/ - work area for fetching/unpacking updates