2017-09-11 10 views
2

呼び出すことはできません、これは私のコードです:のpython - 例外TypeErrorは: 'モジュール' オブジェクトは、私は私のアプリで<a href="https://github.com/ui/rq-scheduler" rel="nofollow noreferrer">rq_scheduler</a>ライブラリを使用したい

import telepot 
import sys 
import time 
import schedule 
import datetime 
from redis import Redis 
from rq_scheduler import Scheduler 


scheduler = Scheduler(connection=Redis()) 



def handle(): 
    print("hello") 

def main(): 
    scheduler.enqueue_at(datetime(2017, 9, 11, 22, 41),handle) 


if __name__ == '__main__': 
    main() 

、私はこれを取得: 更新:

Traceback (most recent call last): 
    File "***\__init__.py", line 22, in <module> 
    main() 
    File "***\__init__.py", line 18, in main 
    scheduler.enqueue_at(datetime(2017, 9, 11, 22, 41),handle) 
TypeError: 'module' object is not callable 

1-私の間違いはどこですか?なぜ私はこれを取得していますか?

+0

おそらくhttps://stackoverflow.com/questions/4534438/typeerror-module-object-is-not-callableの複製 – Akash

+2

は、 'datetime.datetime(...) 'でなければなりません – PRMoureu

+0

@Akash 。私はこれを閉じることを躊躇していたが、その質問の重複しています。 Wikipediaの記事 "モジュールの後に名前が付けられたPythonクラスのリスト"があります。 :) – chepner

答えて

2

datetimeも、datetimeという名前のクラスを宣言するモジュールです。理想的な世界では

scheduler.enqueue_at(datetime.datetime(2017, 9, 11, 22, 41),handle) 

または

from datetime import datetime 
... 
schedule.enqueue_at(datetime(2017, 9, 11, 22, 41), handle) 

、クラスでは混乱を避けるために、PEP-8に準拠した名前(すなわち、datetime.DateTime)を持っています。

関連する問題

 関連する問題