我有这个项目,我的基类和我的子类实现pydantic.BaseModel:
from pydantic import BaseModel
from typing import List
from dataclasses import dataclass
@dataclass
class User(BaseModel):
id: int
@dataclass
class FavoriteCar(User):
car_names: List[str]
car = FavoriteCar(id=1, car_names=["Acura"])
print(f"{car.id} {car.car_names[0]}")
Run Code Online (Sandbox Code Playgroud)
但是出现这个错误:
from pydantic import BaseModel
from typing import List
from dataclasses import dataclass
@dataclass
class User(BaseModel):
id: int
@dataclass
class FavoriteCar(User):
car_names: List[str]
car = FavoriteCar(id=1, car_names=["Acura"])
print(f"{car.id} {car.car_names[0]}")
Run Code Online (Sandbox Code Playgroud)
有人介意解释发生了什么吗?我想使用 pydantic 的原因是因为我需要一种方法来快速将 Python 对象转换为dict(或 JSON)并返回。
我已经将整个项目导入到 docker 中,并且我得到了
\n\n\n\n\n模块未找到错误
\n
来自我创建的模块之一。
\n\nFROM python:3.8\nWORKDIR /workspace/\nCOPY . /workspace/\nRUN pip install pipenv\nRUN pipenv install --deploy --ignore-pipfile\n#EXPOSE 8000\n#CMD ["pipenv", "run", "python", "/workspace/bin/web.py"]\nRun Code Online (Sandbox Code Playgroud)\n\n我尝试四处寻找答案,但似乎无法使其发挥作用。
\n\n命令:
\n\ndocker build -t atletico .\ndocker run -p 8000:8000 atletico\nRun Code Online (Sandbox Code Playgroud)\n\nDocker 构建:\n https://pastebin.com/FXMrY2En
\n\nTraceback (most recent call last):\n File "/workspace/bin/web.py", line 3, in <module>\n from bin.setup import setup_app\nModuleNotFoundError: No module named \'bin\'\nRun Code Online (Sandbox Code Playgroud)\n\n我的目录的副本:
\n\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Dockerfile\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Pipfile\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Pipfile.lock\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 README.md\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 bin\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __pycache__\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 …Run Code Online (Sandbox Code Playgroud)