关于python使用pyinstaller打包执行的报错解决
1.
Traceback (most recent call last):
File "apscheduler\schedulers\base.py", line 896, in _create_plugin_instance KeyError: 'interval'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "test01.py", line 17, in <module>
File "apscheduler\schedulers\base.py", line 467, in inner
File "apscheduler\schedulers\base.py", line 420, in add_job
File "apscheduler\schedulers\base.py", line 921, in _create_trigger
File "apscheduler\schedulers\base.py", line 899, in _create_plugin_instance
File "pkg_resources\__init__.py", line 2461, in load
File "pkg_resources\__init__.py", line 2484, in require
File "pkg_resources\__init__.py", line 786, in resolve
pkg_resources.DistributionNotFound: The 'six>=1.4.0' distribution was not found and is required by the application
[17540] Failed to execute script 'test01' due to unhandled exception!
请按任意键继续. . .
其实都是关于apscheduler 的报错,我也是查询了好久,包括问 这个模块开发的作者,后来发现是我自己打包的问题,因为我发现一些特殊的模块,打包的时候,是打包失败的,也就是打包不进去,需要加载文件打包的时候
- 文件的名称为 hook-ctypes.macholib.py
添加到需要打包文件的同级目录
上面文件的内容为
from PyInstaller.utils.hooks import copy_metadata
#
datas = copy_metadata('pytz') + copy_metadata('tzlocal') + copy_metadata('six')
关于 + copy_metadata(‘six’) 还可以添加扩展,但是不报错的模块不建议添加,我验证过,没有影响运行时候的内存和cpu
- 打包的命令为 pyinstaller -F .\integrated_Agent.py --additional-hooks-dir=.
我使用是pyinstaller 打包 ,
需要在命令后面添加 –additional-hooks-dir 参数,然后打包的时候,就会打包进去报错的模块,因为报错模块老是找不到,因为没有打包进去
后面就正常执行了,我测试正常