【发布时间】:2021-03-15 20:53:57
【问题描述】:
在此处输入代码我尝试导入 pydantic (1.8.1 ver.) 库。
当我尝试从 pydantic 导入 BaseModel 时出现错误。
我尝试像这样导入
from pydantic import BaseModel
输出:
ImportError:无法从部分初始化的模块“pydantic”导入名称“BaseModel”(很可能是由于循环导入)(D:\temp\main.py)
这是我的代码:
from pydantic import BaseModel
from datetime import datetime
from datetime import date
from typing import List, Dict
class CurrencyRequest(BaseModel):
base: str = "EUR"
symbols: List[str]
start_at: date = None
end_at: date = None
def __str__(self):
return """
Dates range: {start} - {end}
Base currency: {base}
Different currencies: {curr}
""".format(
start=self.start_at.strftime("%Y-%m-%d") if self.start_at is not None else "...",
end=self.end_at.strftime("%Y-%m-%d") if self.end_at is not None else "...",
base=self.base,
curr=self.symbols
)
This is link to photo with error
感谢所有回答。
【问题讨论】:
-
您能展示一下如何执行上述代码吗?这个文件是 main.py 吗?如果没有,请包括它。
-
@Rafał 我通过命令提示符执行此操作。文件名是 exchange_rates_api.py
-
谢谢,能否列出 C:\Users\CJ\Desktop\projects\python\pydatic 目录下的所有文件?
-
看起来问题是循环依赖我会从你正在运行的主文件转到它的导入,并检查你的导入在哪里创建了某种循环:)
-
@Rafał 所以我有带有代码的文件和带有 pydantic lib 的 python 虚拟环境 (venv),仅此而已
标签: python class import pydantic