PyInstaller打包APscheduler出现:pkg_resources.DistributionNotFound: The 'xxx>=yyy' distribution was not found and is required by the application
- 1.软件环境⚙️
- 2.问题描述🔍
- 3.解决方法🐡
- 3.1.添加APScheduler依赖项的元数据
- 4.结果预览🤔
⚡插播一条老家自产的糖心苹果,多个品种,欢迎选购!有问题随时私信我⚡:🍎🍎来自雪域高原的馈赠——海拔2000米的大凉山高原生态糖心苹果,欢迎选购!!🍎🍎
大凉山高原生态糖心苹果
1.软件环境⚙️
Windows10
教育版64位
Python
3.6.3
Tensorflow-GPU
2.3.0
Keras
2.4.3
CUDA
10.1
PyInstaller
4.10
APScheduler
3.6.3
2.问题描述🔍
PyInstaller
可以将 Python
应用程序及其所有依赖项打包到一个exe
应用程序中,用户可以在不安装 Python
解释器或任何模块的情况下运行打包的应用程序。
最近需要打包相关项目给其他人使用,直接双击运行,程序一闪而过,那估计是报错了~~因此先打开CMD
窗口,然后通过CMD
运行程序,果然出现报错:
pkg_resources.DistributionNotFound: The ‘tzlocal>=1.2’ distribution was not found and is required by the application
完整报错如下:
Traceback (most recent call last):File "apscheduler\schedulers\base.py", line 896, in _create_plugin_instance
KeyError: 'cron'During handling of the above exception, another exception occurred:Traceback (most recent call last):File "video_atlas_online_learning.py", line 555, in <module>File "<string>", line 1, in <module>File "apscheduler\schedulers\base.py", line 420, in add_jobFile "apscheduler\schedulers\base.py", line 921, in _create_triggerFile "apscheduler\schedulers\base.py", line 899, in _create_plugin_instanceFile "pkg_resources\__init__.py", line 2449, in loadFile "pkg_resources\__init__.py", line 2472, in requireFile "pkg_resources\__init__.py", line 772, in resolve
pkg_resources.DistributionNotFound: The 'tzlocal>=1.2' distribution was not found and is required by the application
[19876] Failed to execute script 'video_atlas_online_learning' due to unhandled exception!
其实不只是tzlocal
会报错,你用相同的命令打包的话,可能会在{six
,tzlocal
,pytz
,setuptools
}中随机出现,但其实这些软件包我们都是正常安装的,要不然也不会使用源码运行的时候可以正常运行!
那这该咋办呢?
3.解决方法🐡
3.1.添加APScheduler依赖项的元数据
通过在仔细查看报错和谷歌,发现可以使用下述方法解决:
通过
--recursive-copy-metadata
命令添加APScheduler依赖项的元数据
--recursive-copy-metadata
的作用是可以复制指定包及其所有依赖项目的元数据
具体的,在使用Pyinstaller
打包的时候,将原来的命令:
pyinstaller -D main.py
改为:
pyinstaller -D main.py --recursive-copy-metadata apscheduler
4.结果预览🤔
再次运行就没有问题了!
渣男!都看到这里了,还不赶紧点赞
,评论
,收藏
走一波?