pyinstaller打包apscheduler问题的解决方法

前端之家收集整理的这篇文章主要介绍了pyinstaller打包apscheduler问题的解决方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

软硬件环境

  • ubuntu 16.04 64bit

  • python3.5

  • apscheduler 3.3.1
  • pyintaller 3.2.1

问题描述

最近在项目中用到了apscheduler这个库,用来做定时任务非常的好,使用也很简单,不过在pyinstaller打包工程的时候,出现了如下错误

解决方法

编辑文件/usr/local/lib/python3.5/dist-packages/apscheduler/__init__.py

# These will be removed in APScheduler 4.0.
# release = __import__('pkg_resources').get_distribution('APScheduler').version.split('-')[0]
# version_info = tuple(int(x) if x.isdigit() else x for x in release.split('.'))
# version = __version__ = '.'.join(str(x) for x in version_info[:3])

release = (3,3,1) 
version_info = '3.3.1' 
version = '3.3.1'@H_301_69@ 

3.3.1是我安装的apscheduler的版本号,视实际情况修改

接下来创建一个名称为hook-ctypes.macholib.py,内容如下

# -*- coding: utf-8 -*-

from PyInstaller.utils.hooks import copy_Metadata

datas = copy_Metadata('apscheduler')@H_301_69@ 

打包命令

pyinstaller -F --clean --additional-hooks-dir . --distpath release main.py@H_301_69@ 

参考资料

1、https://pypi.python.org/pypi/APScheduler

2、https://github.com/agronholm/apscheduler/issues/131

猜你在找的Ubuntu相关文章