python - AttributeError:模块“日期时间”在导入 yaml 时没有属性“日期”
问题描述
我的代码行之一是
import yaml
它安装在 python 3.7 上,使用pip install pyyaml
出现以下错误
回溯(最近一次通话最后):
文件“C:/code/EPMD/Kodex/Applications/EPMD-Software/Sandbox/peer_sharing_send_rate.py”,第 1 行,从 TestPeer.TestPeerChangingSendRate 导入 TestPeerChangingSendSpeed 文件“C:\code\EPMD\Kodex\Applications\EPMD-Software \TestPeer\TestPeerChangingSendRate.py",
第 1 行,从 .TestPeer 导入 TestPeer 文件“C:\code\EPMD\Kodex\Applications\EPMD-Software\TestPeer\TestPeer.py”,
第 4 行,从 BaseProcess.ZmqPeerClass 导入 ZmqPeer 文件“C:\code\EPMD\Kodex\Applications\EPMD-Software\BaseProcess\ZmqPeerClass.py”,
第 2 行,从 .ZmqPublisherClass 导入 ZmqPublisher 文件“C:\code\EPMD\Kodex\Applications\EPMD-Software\BaseProcess\ZmqPublisherClass.py”,
第 10 行,从 . 导入 ZmqProcessClass 文件 "C:\code\EPMD\Kodex\Applications\EPMD-Software\BaseProcess\ZmqProcessClass.py",
第 5 行,从 .ConfigBaseClass 导入 ConfigBase 文件“C:\code\EPMD\Kodex\Applications\EPMD-Software\BaseProcess\ConfigBaseClass.py”,
第 3 行,导入 yaml 文件 "C:\code\EPMD\Kodex\venv\lib\site-packages\yaml__init__.py",第 9 行,从 .dumper import * 文件 "C:\code\EPMD\Kodex\ venv\lib\site-packages\yaml\dumper.py",第 6 行,从 .representer 导入 * 文件 "C:\code\EPMD\Kodex\venv\lib\site-packages\yaml\representer.py",线
263,在 SafeRepresenter.add_representer(datetime.date, AttributeError: 模块 'datetime' 没有属性 'date'
我怎么import yaml
去上班?
解决方案
您可能datetime.py
在错误消息中显示的目录之一中调用了一个文件(很可能C:/code/EPMD/Kodex/Applications/EPMD-Software/Sandbox/
),如果这样做,则需要将其重命名为不会影响任何其他 Python 模块的名称。
原因是它掩盖了实际的datetime
模块,因为当前工作目录中的文件/目录/模块优先于安装在site-packages
目录中的模块(内置和安装的模块所在的目录)。如果两个位置都包含一个a
模块,那么import a
将导入本地a
模块而不是(可能)a
从site-packages
.
它什么yaml\representer.py
时候import datetime
导入了datetime.py
没有date
属性的文件/模块,这就是为什么AttributeError
在后来尝试使用datetime.date
.
推荐阅读
- python - 如何从 JSON 数据中解析数据?
- c# - Starting an async Task running for the lifetime of an object
- javascript - 如何使用 html 选择选项在表上显示 sql 查询结果?
- elasticsearch - elasticsearch 7.3“字段扩展匹配太多字段”
- math - 有什么解决办法吗?
- python - TypeError:字节索引必须是整数或切片,而不是 str - Python 错误
- c - 在C中计算三元组(3个字母序列)?
- javascript - 如何抓取元素的所有子元素
- flutter - 如何在双击时动态隐藏 AppBar?
- python - 在 Python 上从 NodeJS 复制 JSON Web Token