Ich habe das seltsamste Problem. Diese Python-Code funktioniert auf einem Raspberry Pi ausgeführt stock Debian:Python-Modul-Objekt hat kein Attribut struct_time mit Homebrew auf OSX Sierra aber nicht debian
from datetime import datetime, date, time
now = datetime.now()
print(now)
print(now.strftime("%d/%m/%y %H:%M"))
Und gibt die erwartete:
2017-07-17 08:17:17.567342
17/07/17 08:17
Auf OSX Sierra mit Python über Homebrew installiert es gibt:
2017-07-17 08:10:21.196849
2017-07-17 08:10:21.197579
Traceback (most recent call last):
File "time.py", line 6, in <module>
print(now.strftime("%d/%m/%y %H:%M"))
File "/Users/craign/Desktop/time.py", line 6, in <module>
print(now.strftime("%d/%m/%y %H:%M"))
AttributeError: 'module' object has no attribute 'struct_time'
I haben:
$ brew --version
Homebrew 1.2.4
$ python --version
Python 2.7.13
Hat jemand Ideen? Ich habe die Interwebs, StackOverflow, etc. für eine verrückte Zeit damit durchforstet und fühle mich wie ein totaler Idiot.
Und welche Version von Python haben Sie auf Debian (Raspberry Pi)? –
Ich denke, es gibt ein Problem mit Namenskonflikten während des Imports. Tatsächlich importieren Sie [datetime.time] (https://docs.python.org/2/library/datetime.html#datetime.time). "Struct_time" ist jedoch Mitglied von [time] Modul (https://docs.python.org/2/library/datetime.html#datetime.time). Irgendwie wird während des Imports ein Name von einem anderen beschattet. Was ich vorschlagen würde ist, ** als ** für alle datetime Imports zu verwenden, d. H. 'Von datetime import time als datetimetime ', und prüfen, ob dies das Problem löst –
Ich glaube running.t ist korrekt. Das OP-Modul heißt time.py, was Pythons eingebaute Zeit wahrscheinlich überschattet. – BoboDarph