我去运行
from datetime import *; from dateutil.relativedelta import *
从python脚本中,我遇到了一个错误,对我来说似乎表明了模块本身的问题。
Traceback (most recent call last):
File "C:UsersTomDocumentsdatetime.py", line 1, in <module>
from datetime import *
File "C:UsersTomDocumentsdatetime.py", line 2, in <module>
from dateutil.relativedelta import *
File "C:UsersTomAppDataLocalProgramsPythonPython35libsite-packagespython_dateutil-2.0-py3.5.eggdateutilrelativedelta.py", line 11, in <module>
import calendar
File "C:UsersTomAppDataLocalProgramsPythonPython35libcalendar.py", line 47, in <module>
class _localized_month:
File "C:UsersTomAppDataLocalProgramsPythonPython35libcalendar.py", line 49, in _localized_month
_months = [datetime.date(2001, i+1, 1).strftime for i in range(12)]
File "C:UsersTomAppDataLocalProgramsPythonPython35libcalendar.py", line 49, in <listcomp>
_months = [datetime.date(2001, i+1, 1).strftime for i in range(12)]
AttributeError: module 'datetime' has no attribute 'date'
但是,当我在python shell中使用完全相同的语句时,如果在壳中使用,则不会发生。
我确实发现它与dateutil的Relativedelta的一部分直接相关,如
from dateutil import *
工作正常。
我尝试重新安装dateutil,但这几乎是。
如果重要的话,请使用dateutil 2.0运行python 3.5.1。
编辑:对不起,我是个白痴,我的文件被称为dateTime.py,这是引起问题的原因。
我相信这是源文件名。我猜想Python解释器试图找到DateTime模块时,将首先搜索本地目录,而DateTime模块将是您的源文件,而不是DateTime Global软件包。这篇文章解释了更多
一旦您将文件重命名为DD.PY而不是" C: Users Tom tom documents dateTime.py",它就应该可以解决。