PyInstaller打包含ttp模块Python脚本为exe的缓存路径问题
PyInstaller打包Python脚本为EXE的TTP模块缓存路径问题
我尝试使用PyInstaller将Python脚本打包为EXE文件,原脚本运行正常,但打包后的EXE出现错误:ttp.lazy_import_functions: 保存失败,提示文件未找到。经排查发现,ttp模块的lazy_import_functions函数默认以os.path.dirname(__file__)作为缓存路径,而PyInstaller打包的EXE运行时会在Temp目录下的_MEIXXXX临时文件夹中查找ttp/ttp.py文件。
我通过修改ttp.py中的缓存路径逻辑,并编写脚本将ttp目录复制到_MEIXXXX文件夹中实现了临时解决,但仍有以下疑问:
- 为何使用PyInstaller打包后程序无法正常运行?
- 为何程序会在Temp目录下查找
ttp/ttp.py文件? - 使用PyInstaller打包时能否修改缓存目录?
- 当前临时方案依赖
_MEI前缀的临时文件夹,若缓存路径变更该方案是否失效?
内容的提问来源于stack exchange,提问作者Baris Ozensel
相关产品推荐
相关产品推荐

