"类型对象'datetime.datetime'没有属性'datetime'",即使使用"import datetime"也是如此

joh*_*n2x 1 python google-app-engine datetime

type object 'datetime.datetime' has no attribute 'datetime'在AppEngine上遇到错误,抱怨日期时间类型,但我的导入是import datetime.还有 from datetime import datetime其他的文件,但我不认为应该影响这个文件?

没有"意外"重新进口,我已经检查过了.我检查了我的AppEngine日志,它只在2天前开始发生.

我正在使用2.7运行时.

编辑:这是导致错误的行(注意我正在使用import datetime,不是from datetime import datetime)

task.due_at = datetime.datetime.strptime(date, '%Y-%m-%d %I:%M%p')
Run Code Online (Sandbox Code Playgroud)

编辑:堆栈跟踪

type object 'datetime.datetime' has no attribute 'datetime'
Traceback (most recent call last):
  File "/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.5.1/webapp2.py", line 570, in dispatch
    return method(*args, **kwargs)
  File "/base/data/home/apps/s~wmphighrise/1.373696587983821954/myapp/handler/decorators.py", line 22, in wrapper
    return fn(*args, **kwargs)
  File "/base/data/home/apps/s~wmphighrise/1.373696587983821954/myapp/handler/api/main.py", line 1343, in post
    task.due_at = datetime.datetime.strptime(date, '%Y-%m-%d %I:%M%p')
AttributeError: type object 'datetime.datetime' has no attribute 'datetime'
Run Code Online (Sandbox Code Playgroud)

编辑3:一些调试

注意:import datetime位于顶部

#1st attempt
import datetime
class MyHandler():
  def get(self):
    logging.info(datetime) # => "<type 'datetime.datetime'>"

#2nd attempt
import datetime
class MyHandler():
  def get(self):
    import datetime  # explicitly re-import the module
    logging.info(datetime) # => "<module 'datetime' (built-in)>"

#3rd attempt
import datetime
class MyHandler():
  def get(self):
    logging.info(datetime) # => Throws UnboundLocalError: local variable 'datetime' referenced before assignment
                           # Is this normal? This is new to me.
    import datetime
    logging.info(datetime)

#4th attempt
import datetime
logging.info(datetime) # => "<module 'datetime' (built-in)>"
class MyHandler():
  def get(self):
    logging.info(datetime) # => "<type 'datetime.datetime'>"
Run Code Online (Sandbox Code Playgroud)

有没有办法在当前文件或模块之外重新定义变量?因为我看了看这个文件,根本没有重新定义.

编辑4:

ack"d ,,"datetime =" 和,但没有结果,它重新分配.我在最近2天检查了我的git日志,并且没有任何可以引入它的更改"datetime=""datetime.datetime =""datetime.datetime="

mhl*_*ter 5

你所包含的代码对我有用,所以问题很可能是你datetime用一个datetime.datetime被调用的对象遮蔽了模块datetime.没有认真,我打算输入所有这些.

>>> import datetime
>>> datetime = datetime.datetime.now()  # waves goodbye to datetime module!
>>> task.due_at = datetime.datetime.strptime(date, '%Y-%m-%d %I:%M%p')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'datetime.datetime' object has no attribute 'datetime'
Run Code Online (Sandbox Code Playgroud)