【问题标题】:Pyinstaller with APScheduler - TypeError with IntervalTrigger带有 APScheduler 的 Pyinstaller - 带有 IntervalTrigger 的 TypeError
【发布时间】:2020-11-11 08:44:28
【问题描述】:

我遇到了和这里一样的问题(见下面的链接),简而言之:无法创建使用 APScheduler 的 python 脚本的 .exe

Pyinstaller 3.3.1 & 3.4.0-dev build with apscheduler

所以我按照建议做了:

from apscheduler.triggers import interval
    
scheduler.add_job(Run, 'interval', interval.IntervalTrigger(minutes = time_int), 
                                  args = (input_file, output_dir, time_int), 
                                  id = theID, replace_existing=True)

确实导入 interval.IntervalTrigger 并将其作为参数传递给 add_job 解决了 this 特定错误。

但是,现在我遇到了:

TypeError: add_job() 为参数 'args' 获得了多个值

我对其进行了测试,并且由于现在调用触发器的方式,我可以确定它正在发生。我也试过分别定义 trigger = interval.IntervalTrigger(minutes = time_int) 然后只是传递 trigger,同样的情况发生了。

如果我忽略了 try/except 的错误,我发现它根本没有将作业添加到 sql 数据库中(我使用 SQLAlchemy 作为作业存储)。最初我认为这是因为我在 for 循环中添加了多个作业,但它也发生在单个作业添加中。

如果最初的问题,任何人都知道其他解决方法,或者知道为什么会发生此错误?我在网上也找不到任何东西:(

【问题讨论】:

    标签: python pyinstaller apscheduler


    【解决方案1】:

    事情总是在早上更好。

    对于遇到这种情况的其他人:您不需要同时使用 'interval' 和 interval.IntervalTrigger() 作为参数,代码应该是,这就是错误的来源。

    scheduler.add_job(Run, interval.IntervalTrigger(minutes = time_int), 
                              args = (input_file, output_dir, time_int), 
                              id = theID, replace_existing=True)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-06
      • 1970-01-01
      相关资源
      最近更新 更多