APScheduler — предупреждение об импорте, но код все еще выполняется. Что случилось?

#python #apscheduler

#питон #расписание

Вопрос:

Мой код следует примеру из APScheduler Docs, но я изменил его формат, чтобы он следовал моему. Это работает без проблем. «Привет, мир» печатается каждые 10 секунд.

 #! /usr/bin/python

import datetime

from apscheduler.schedulers.blocking import BlockingScheduler

class Class1:

    def job_function():
        print("Hello World")

class Class2:        

    def go():

        sched = BlockingScheduler()

        # Schedule job_function to be called every 10 seconds
        sched.add_job(Classy.job_function, 'interval', seconds = 10)

        sched.start()

if __name__ == '__main__':

    Class2.go()
 

Однако мой фактический код работает не так хорошо.

 #! /usr/bin/python

import time
import praw
import OAuth2Util
import redditNewsBot
import redditFreeGameBot
import redditWorldNewsBot
from datetime import datetime
from apscheduler.schedulers.blocking import BlockingScheduler


class Aggregate:

    def aggr()
        ...

    def x():
        print('x')

class RunSchedule:

    def go():

        sched = BlockingScheduler()

        # Schedule job_function to be called every ten seconds
        sched.add_job(Aggregate.x, 'interval', seconds = 10)

        sched.start()


if __name__ == '__main__':

    RunSchedule.go()
 

Все будет выполняться с указанным интервалом, но я получаю все это первым:

 C:UsersNickAppDataLocalProgramsPythonPython35-32libimportlib_bootstrap_external.py:415: ImportWarning: Not importing directory

C:UsersNickAppDataLocalProgramsPythonPython35-32libsite-packagesmpl_toolkits: missing __init___warnings.warn(msg.format(portions[0]), ImportWarning)

C:UsersNickAppDataLocalProgramsPythonPython35-32libimportlib_bootstrap_external.py:415: ImportWarning: Not importing directory 

c:usersnickappdatalocalprogramspythonpython35-32libsite-packagesmpl_toolkits: missing __init___warnings.warn(msg.format(portions[0]), ImportWarning)

C:UsersNickAppDataLocalProgramsPythonPython35-32libimportlib_bootstrap_external.py:415: ImportWarning: Not importing directory 

C:UsersNickAppDataLocalProgramsPythonPython35-32libsite-packageszope: missing __init___warnings.warn(msg.format(portions[0]), ImportWarning)
 

Ответ №1:

Это было praw .

Я импортировал его в тестовый скрипт, datetime from apscheduler.schedulers.blocking import BlockingScheduler и он работал без ошибок.

Затем я переместил его перед последним, и он выдал ошибки.

Чтобы запустить без ошибок apscheduler.schedulers.blocking import BlockingSchedulerhad , перейдите к самому началу списка импорта. time и datetime может быть впереди без ошибок.

 from apscheduler.schedulers.blocking import BlockingScheduler
import praw
import time
import datetime
import OAuth2Util
import redditNewsBot
import redditFreeGameBot
import redditWorldNewsBot