“le type de l'objet datetime.datetime' n'a pas d'attribut 'datetime',” même avec “import datetime”

Je suis type object 'datetime.datetime' has no attribute 'datetime' erreurs sur AppEngine, à se plaindre du type datetime, mais mon importation est import datetime. Il y sont from datetime import datetime dans autres fichiers, mais je ne pense pas que devraient toucher à ce fichier?

Il n'y a pas de "accidentelle" re-importe, j'ai vérifié. J'ai vérifié mon AppEngine les journaux, et que cela a commencé il ya 2 jours.

Je suis en utilisant 2.7 de l'exécution.

EDIT: Voici la ligne qui est la cause de l'erreur (à noter que je suis en utilisant import datetime, PAS from datetime import datetime)

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

EDIT: trace de la Pile

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'

EDIT 3: un peu de débogage

Remarque: import datetime est en haut

#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'>"

Est-il un moyen pour une variable à être redéfini à l'extérieur le fichier en cours ou du module? Parce que j'ai regardé et regardé ce fichier et il n'y a pas de redéfinir à tous.

EDIT 4:

J'ai ack'd "datetime =", "datetime=", "datetime.datetime =" et "datetime.datetime=", mais il n'y a pas des résultats qui ne réaffectation des. J'ai vérifié mon git log pour les 2 derniers jours, et il n'y a pas de modifications qui pourraient avoir introduit

  • Il n'y a pas de datetime.datetime.datetime. Vous avez passé une couche trop profondément dans votre création.
  • Oui, je sais. J'ai importé le datetime module. Il devrait y avoir un datetime.datetime type de classe à elle.
  • il y est, mais que vous essayez d'appeler datetime sur un datetime.datetime objet. Je compte 3 🙂
  • L'erreur dit " datetime.datetime' n'ont 'datetime', car il n'est pas. Vous avez juste besoin d' 'datetime.datetime'.
  • Sont vos modifications tout dans un module? Ou les différentes versions?
  • Le tout dans un module ou un fichier. Juste essayé 3 fois.
  • Ok vous avez quelque chose de bizarre se passe, et nous avons besoin de voir le code réel. Plus précisément tentative 3 n'est pas possible avec la normale de code python et il n'existe aucun moyen 4ème tentative pourrait le faire.
  • Aussi, je ne crois pas qu'il pourrait possiblly le général appengine runtime sinon, toutes mes applications ont ce problème aussi 😉

InformationsquelleAutor john2x | 2014-02-12