【问题标题】:Why i can't import BaseModel from Pydantic?为什么我不能从 Pydantic 导入 BaseModel?
【发布时间】: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


【解决方案1】:

可能您的根路径中有一个名为“pydantic”的包或模块。

编辑:在错误的屏幕截图中,您有“pydantic”文件夹。尝试重命名

【讨论】:

  • 好的,没关系:P
猜你喜欢
  • 1970-01-01
  • 2020-05-26
  • 1970-01-01
  • 2019-12-02
  • 2023-03-20
  • 2018-05-05
  • 2023-02-13
  • 2020-09-12
  • 2018-08-30
相关资源
最近更新 更多