zsh:未找到匹配项 - 尝试安装 pydantic[电子邮件] [重复]

问题描述 投票:0回答:1

激活我的 venv 并通过安装 Pydantic 后

pip install pydantic

我尝试创建一个新文件,如下所示:

from pydantic import Basemodel, EmailStr

class Person(BaseModel):
      id: int
      name: str
      email: EmailStr

并且只是使用未使用的类运行该文件。但它返回以下错误:

ModuleNotFoundError: No module named 'email_validator'
.
.
.
ImportError: email-validator is not installed, run `pip install pydantic[email]`

运行时提示

pip install pydantic[email]

它告诉我:

zsh: no matches found: pydantic[email]

有人可以帮我解决这个愚蠢的初学者错误吗?谢谢!

我重新安装了 Pydantic,重新创建了 venv,重新激活了 venv。

python zsh pydantic python-venv
1个回答
25
投票

这与 Python、Pydantic 或您的虚拟环境无关。它以您的 shell 名称 zsh 开始错误消息,告诉您这是一个

shell
错误。

当您编写

... pydantic[email]
时,zsh 会将其解释为 glob 模式,以匹配名为
pydantic
后跟
e
m
a
i
l
的文件。它在您的工作目录中找不到与该模式匹配的文件,并给出该错误。

为了避免这种情况,您可以简单地将参数放在引号中,如下所示:

pip install 'pydantic[email]'

同样在您的

requirements.txt
文件中:

pydantic[email]
© www.soinside.com 2019 - 2024. All rights reserved.