I'm getting `type object 'datetime.datetime' has no attribute 'datetime'` errors on AppEngine, complaining about the datetime type, but my import is `import datetime`. There *are* `from datetime import datetime` in *other* files, but I don't think that should affect this file?
There's no 'accidental' re-imports, I've checked. I've checked my AppEngine logs, and it only started happening 2 days ago.
I'm using 2.7 runtime.
Here's the line that's causing the error (note that I'm using `import datetime`, NOT `from datetime import datetime`)
task.due_at = datetime.datetime.strptime(date, '%Y-%m-%d %I:%M%p')
Stack trace
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'
Some debugging
Note: `import datetime` is at the top
#1st attempt
import datetime
class MyHandler():
def get(self):
#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
#4th attempt
import datetime
logging.info(datetime) # => "<module 'datetime' (built-in)>" class MyHandler():
def get(self):
Is there a way for a variable to be redefined *outside* the current file or module? Because I've looked and looked at this file and there's no redefining at all.