gpt4 book ai didi

Python。 from dateutil.relativedelta import * 在 shell 中有效,但在脚本中无效

转载 作者:行者123 更新时间:2023-12-01 02:36:19 59 4
gpt4 key购买 nike

当我去运行时

from datetime import *; from dateutil.relativedelta import *

从 python 脚本中,我收到一个错误,在我看来,该错误似乎表明模块本身存在问题。

Traceback (most recent call last):
File "C:\Users\Tom\Documents\datetime.py", line 1, in <module>
from datetime import *
File "C:\Users\Tom\Documents\datetime.py", line 2, in <module>
from dateutil.relativedelta import *
File "C:\Users\Tom\AppData\Local\Programs\Python\Python35\lib\site-packages\python_dateutil-2.0-py3.5.egg\dateutil\relativedelta.py", line 11, in <module>
import calendar
File "C:\Users\Tom\AppData\Local\Programs\Python\Python35\lib\calendar.py", line 47, in <module>
class _localized_month:
File "C:\Users\Tom\AppData\Local\Programs\Python\Python35\lib\calendar.py", line 49, in _localized_month
_months = [datetime.date(2001, i+1, 1).strftime for i in range(12)]
File "C:\Users\Tom\AppData\Local\Programs\Python\Python35\lib\calendar.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 中使用完全相同的语句时,不会发生这种情况,如果在 shell 中使用,它可以完美地工作。

我确实发现它与 dateutil 的relativedelta 部分直接相关,如

from dateutil import *

工作正常。

我尝试重新安装 dateutil,但仅此而已。

如果重要的话,可以使用 dateutil 2.0 运行 python 3.5.1。

编辑:抱歉,我是个白痴,我的文件名为 datetime.py,这就是导致问题的原因。

最佳答案

我相信这是源文件名。我猜测当 python 解释器尝试查找 datetime 模块时,它会首先搜索本地目录,并且 datetime 模块将是您的源文件而不是 datetime 全局包。 this post explains more

一旦您将文件重命名为 dd.py 而不是“C:\Users\Tom\Documents\datetime.py”,它应该可以解决。

关于Python。 from dateutil.relativedelta import * 在 shell 中有效,但在脚本中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46177134/

59 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com