ModuleNotFoundError:没有名为“typing_extensions”的模块

ModuleNotFoundError: 没有名为“typing_extensions”的模块

ModuleNotFoundError: No module named ‘typing_extensions’

Python “ModuleNotFoundError: No module named ‘typing_extensions’” 发生在我们忘记typing-extensions在导入前安装模块或将其安装在不正确的环境中时。

要解决此错误,请通过运行命令安装模块
pip install typing-extensions

modulenotfounderror 没有名为输入扩展的模块

在项目的根目录中打开终端并安装
typing-extensions模块。

# 👇️ in a virtual environment or using Python 2 pip install typing-extensions # 👇️ for python 3 (could also be pip3.10 depending on your version) pip3 install typing-extensions # 👇️ if you get permissions error sudo pip3 install typing-extensions pip install typing-extensions --user # 👇️ if you don't have pip in your PATH environment variable python -m pip install typing-extensions # 👇️ for python 3 (could also be pip3.10 depending on your version) python3 -m pip install typing-extensions # 👇️ using py alias (Windows) py -m pip install typing-extensions # 👇️ for Anaconda conda install -c conda-forge typing-extensions # 👇️ for Jupyter Notebook !pip install typing-extensions

安装
typing-extensions包后,尝试按如下方式导入它。

主程序
from typing_extensions import Required, TypedDict class Movie(TypedDict, total=False): title: Required[str] year: int

常见错误原因

出现错误的原因有多种:

  1. 没有typing-extensions通过运行安装包
    pip install typing-extensions
  2. 在与您正在使用的版本不同的 Python 版本中安装包。
  3. 全局安装包,而不是在您的虚拟环境中。
  4. 您的 IDE 运行的 Python 版本不正确。
  5. 命名您的模块typing_extensions.py,这将影响官方模块。
  6. 声明一个名为typing_extensionswhich 的变量将隐藏导入的变量。

如果错误仍然存​​在,请获取您的 Python 版本并确保您使用正确的 Python 版本安装包。

python --version

获取 python 版本

例如,我的 Python 版本是3.10.4,所以我将
typing-extensions使用pip3.10 install typing-extensions.

pip3.10 install typing-extensions # 👇️ if you get permissions error use pip3 (NOT pip3.X) sudo pip3 install typing-extensions

请注意,版本号对应于我正在使用的版本pip

pip如果您的计算机上未设置PATH ,请替换pip
python3 -m pip

# 👇️ make sure to use your version of Python, e.g. 3.10 python3 -m pip install typing-extensions

如果错误仍然存​​在,请尝试重新启动您的 IDE 和开发服务器/脚本。

检查包是否安装

您可以

通过运行命令
检查是否typing-extensions安装了软件包pip show typing-extensions

# 👇️ check if you have typing-extensions installed pip show typing-extensions # 👇️ if you don't have pip set up in PATH python -m pip show typing-extensions

pip show typing-extensions命令将声明该包未安装或显示有关该包的一堆信息,包括该包的安装位置。

确保你的 IDE 使用正确的 Python 版本

如果未安装该包,请确保您的 IDE
使用的是正确版本的 Python

如果您的机器上安装了多个 Python 版本,您可能使用了不正确的版本安装了typing-extensions包,或者您的 IDE 可能被设置为使用不同的版本。

例如,在 VSCode 中,您可以按CTRL + Shift + P或(在 Mac 上为+ Shift+ P
)打开命令面板。

然后在字段中键入“Python 选择解释器”。

python选择解释器

然后从下拉菜单中选择正确的 python 版本。

选择正确的python版本

您的 IDE 应该使用与您用于从终端安装包的相同版本的 Python(包括虚拟环境)。

在虚拟环境中安装包

如果您使用的是虚拟环境,请确保您是
typing-extensions在虚拟环境中而不是全局安装。

如果您还没有虚拟环境,可以尝试创建一个。

# 👇️ use correct version of Python when creating VENV python3 -m venv venv # 👇️ activate on Unix or MacOS source venv/bin/activate # 👇️ activate on Windows (cmd.exe) venv\Scripts\activate.bat # 👇️ activate on Windows (PowerShell) venv\Scripts\Activate.ps1 # 👇️ install typing-extensions in virtual environment pip install typing-extensions

如果该python3 -m venv venv命令不起作用,请尝试以下 2 个命令:

  • python -m venv venv
  • py -m venv venv

您的虚拟环境将使用用于创建它的 Python 版本。

如果错误仍然存​​在,请确保您没有在项目中命名模块,因为那样会影响原始模块。 typing_extensions.py typing_extensions

您也不应该声明一个名为typing-extensionsas 的变量,这也会影响原始模块。

尝试重新安装包

如果错误未解决,请尝试卸载typing-extensions软件包,然后再安装。

# 👇️ check if you have typing-extensions installed pip show typing-extensions # 👇️ if you don't have pip set up in PATH python -m pip show typing-extensions # 👇️ uninstall typing-extensions pip uninstall typing-extensions # 👇️ if you don't have pip set up in PATH python -m pip uninstall typing-extensions # 👇️ install typing-extensions pip install typing-extensions # 👇️ if you don't have pip set up in PATH python -m pip install typing-extensions

尝试重新启动您的 IDE 和开发服务器/脚本。

您也可以尝试升级软件包的版本typing-extensions

pip install typing-extensions --upgrade # 👇️ if you don't have pip set up in PATH python -m pip install typing-extensions --upgrade
If the error persists, follow the operating system-specific instructions on how to install typing-extensions.

# Table of Contents

  1. Install typing-extensions on Windows
  2. Install typing-extensions on macOS or Linux
  3. Install typing-extensions in Visual Studio Code
  4. Install typing-extensions in PyCharm
  5. Install typing-extensions in Anaconda
  6. Install typing-extensions in Jupyter Notebook

# Install typing-extensions on Windows

To install the typing-extensions module on Windows:

  1. Type CMD in the search bar and open the Command Prompt application.
  2. Type pip install typing-extensions and press Enter.
cmd
pip install typing-extensions # 👇️ for Python 3 pip3 install typing-extensions # 👇️ if you don't have pip in your PATH environment variable python -m pip install typing-extensions # 👇️ for Python 3 python3 -m pip install typing-extensions # 👇️ using py alias py -m pip install typing-extensions # 👇️ if you get permissions error pip install typing-extensions --user # 👇️ for Anaconda conda install -c conda-forge typing-extensions

pip 安装打字扩展窗口

After you install the
typing-extensions package, try
importing it as follows.

main.py
from typing_extensions import Required, TypedDict class Movie(TypedDict, total=False): title: Required[str] year: int

If the installation command doesn’t succeed, try running CMD as an
administrator.

Right-click on the search result, click on “Run as administrator” and run the pip install command.

以管理员身份运行cmd

If you get the error
‘pip’ is not recognized as an internal or external command,
use the python -m command when installing typing-extensions.

shell
python -m pip install typing-extensions python3 -m pip install typing-extensions py -m pip install typing-extensions

Alternatively, you can install the typing-extensions module in a virtual
environment:

  1. Open the root directory of your project.
  2. Press Shift and right-click in Explorer.

windows 在此处打开 powershell 窗口

  1. Click on “Open PowerShell window here”.
  2. Run the following commands.
PowerShell
# 👇️ might also be: "python3 -m venv venv" python -m venv venv # 👇️ activate on Windows (PowerShell) venv\Scripts\Activate.ps1 # 👇️ activate on Windows (cmd.exe) venv\Scripts\activate.bat # 👇️ install typing-extensions in virtual environment pip install typing-extensions

If the python -m venv venv command doesn’t work, try the following 2 commands:

  • python3 -m venv venv
  • py -m venv venv.

If you see an error message that
ps1 cannot be loaded because running scripts is disabled on this system,
run the following command, type “yes” when prompted and rerun the activation
command.

PowerShell
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
You can verify that the typing-extensions module is installed by using the pip show typing-extensions command.
PowerShell
pip show typing-extensions pip3 show typing-extensions python -m pip show typing-extensions python3 -m pip show typing-extensions

The pip show typing-extensions command will either state that the package is
not installed or show a bunch of information about the package, including the
location where the package is installed.

# Install typing-extensions on macOS or Linux

To install typing-extensions on macOS or Linux:

  1. Search for “terminal” and start the application.
  2. Type pip install typing-extensions and press Enter.

搜索终端

terminal
pip install typing-extensions # 👇️ for Python 3 pip3 install typing-extensions # 👇️ if you get permissions error sudo pip3 install typing-extensions # 👇️ if you don't have pip in your PATH environment variable python -m pip install typing-extensions # 👇️ for python 3 python3 -m pip install typing-extensions # 👇️ alternative if you get permissions error pip install typing-extensions --user # 👇️ for Anaconda conda install -c conda-forge typing-extensions

macos linux 安装打字扩展

After you install the
typing-extensions package, try
importing it as follows.

main.py
from typing_extensions import Required, TypedDict class Movie(TypedDict, total=False): title: Required[str] year: int

If you get an error that pip isn’t found, use the python -m command.

terminal
python -m pip install typing-extensions python3 -m pip install typing-extensions

If you get a permissions error, prefix the command with sudo.

terminal
sudo pip install typing-extensions sudo pip3 install typing-extensions

Alternatively, you can install the typing-extensions package in a virtual
environment:

  1. Open your terminal in the root directory of your project.
  2. Run the following commands.
shell
# 👇️ could also be "python -m venv venv" python3 -m venv venv # 👇️ activate virtual env on macOS or Linux source venv/bin/activate # 👇️ install typing-extensions in virtual environment pip install typing-extensions

Your virtual environment will use the version of Python that was used to create
it.

If the python3 -m venv venv command doesn’t work, use python -m venv venv instead.

You can use the pip show command to verify typing-extensions has been
installed successfully.

shell
pip show typing-extensions pip3 show typing-extensions python -m pip show typing-extensions python3 -m pip show typing-extensions

The pip show typing-extensions command will either state that the package is
not installed or show a bunch of information about the package.

# Install typing-extensions in Visual Studio Code

To install typing-extensions in Visual Studio Code:

  1. Press CTRL + ` (Backtick) on your keyboard to open the terminal.
  2. Run the pip install typing-extensions command to install the
    typing-extensions module.
terminal
pip install typing-extensions # 👇️ for Python 3 pip3 install typing-extensions # 👇️ if you get permissions error sudo pip3 install typing-extensions # 👇️ if you don't have pip in your PATH environment variable python -m pip install typing-extensions # 👇️ for python 3 python3 -m pip install typing-extensions # 👇️ using py alias py -m pip install typing-extensions # 👇️ alternative if you get permissions error pip install typing-extensions --user

vscode pip 安装打字扩展

You can also open the terminal in Visual studio code by pressing CTRL+Shift+P and then typing “View: Toggle Terminal”.

After you install the
typing-extensions package, try
importing it as follows.

main.py
from typing_extensions import Required, TypedDict class Movie(TypedDict, total=False): title: Required[str] year: int

When installing Python modules in Visual Studio code, make sure that
your IDE is configured to use the correct Python version.

Press CTRL+Shift+P or ( + Shift + P on Mac) to open the command
palette.

Then type “Python select interpreter” in the field.

python选择解释器

Then select the correct Python version from the dropdown menu.

选择正确的python版本

Your IDE should be using the same version of Python (including the virtual environment) that you are using to install packages from your terminal.

You can use the python --version command if you need to get your version of
Python.

terminal
python --version python3 --version

获取 python 版本

You can also try creating a virtual environment if you don’t already have one.

terminal
# 👇️ could also be "python -m venv venv" or "py -m venv venv" python3 -m venv venv # 👇️ activate on Unix or MacOS source venv/bin/activate # 👇️ activate on Windows (cmd.exe) venv\Scripts\activate.bat # 👇️ activate on Windows (PowerShell) venv\Scripts\Activate.ps1 # 👇️ install typing-extensions in virtual environment pip install typing-extensions

Your virtual environment will use the version of Python that was used to create
it.

# Install typing-extensions in PyCharm

To install typing-extensions in PyCharm:

  1. Press Alt+F12 on your keyboard to open the terminal.
  2. Run the pip install typing-extensions command to install the
    typing-extensions module.
terminal
pip install typing-extensions # 👇️ for Python 3 pip3 install typing-extensions # 👇️ if you get permissions error sudo pip3 install typing-extensions # 👇️ if you don't have pip in your PATH environment variable python -m pip install typing-extensions # 👇️ for python 3 python3 -m pip install typing-extensions # 👇️ using py alias py -m pip install typing-extensions # 👇️ alternative if you get permissions error pip install typing-extensions --user

pycharm pip 安装打字扩展

After you install the
typing-extensions package, try
importing it as follows.

main.py
from typing_extensions import Required, TypedDict class Movie(TypedDict, total=False): title: Required[str] year: int

Alternatively, you can use the IDE itself to install the module.

  1. Click on “File” > “Settings” > “Project” > “Python Interpreter”.
  2. Click on the + icon and type typing-extensions.
  3. Click on “Install Package”.

pycharm 解释器安装 typing-extensions

When installing Python modules in PyCharm, make sure that your IDE is configured to use the correct version of Python.

Click on “File” > “Settings” > “Project” > “Python Interpreter”.

pycharm 选择正确的解释器

Then select the correct Python version from the dropdown menu.

Your IDE should be using the same version of Python (including the virtual environment) that you are using to install packages from your terminal.

You can use the python --version command if you need to get your version of
Python.

terminal
python --version python3 --version

获取 python 版本

# Install typing-extensions in Anaconda

To install typing-extensions in Anaconda:

  1. Open your Anaconda Navigator.
  2. Click on “Environments” and select your project.
  3. Type typing-extensions in the search bar to the right.
  4. Tick the typing-extensions package and click on “Apply”.

anaconda navigator 安装包

After you install the
typing-extensions package, try
importing it as follows.

main.py
from typing_extensions import Required, TypedDict class Movie(TypedDict, total=False): title: Required[str] year: int

Alternatively, you can install the typing-extensions package with a command.

If you are on Windows, search for “Anaconda Prompt” and open the
application.

If you are on macOS or Linux, open your terminal.

Run the following command to install the typing-extensions package.

shell
# 👇️ using conda conda install -c conda-forge typing-extensions # 👇️ Alternatively use `pip` pip install typing-extensions # 👇️ for Python 3 pip3 install typing-extensions # 👇️ if you get permissions error sudo pip3 install typing-extensions # 👇️ if you don't have pip in your PATH environment variable python -m pip install typing-extensions # 👇️ for python 3 python3 -m pip install typing-extensions # 👇️ using py alias py -m pip install typing-extensions # 👇️ alternative if you get permissions error pip install typing-extensions --user

Click on the
following article
if you need to install a specific version of the package using Anaconda.

# Install typing-extensions in Jupyter Notebook

To install typing-extensions in Jupyter Notebook:

  1. Open your terminal and type “jupyter notebook”.

打开 jupyter 笔记本

  1. Click on “New” and then “Terminal” in the browser tab.

jupyter notebook 点击新建终端

  1. Type pip install typing-extensions and press Enter.
shell
# 👇️ using pip pip install typing-extensions # 👇️ for Python 3 pip3 install typing-extensions # 👇️ if you get permissions error sudo pip3 install typing-extensions # 👇️ if you don't have pip in your PATH environment variable python -m pip install typing-extensions # 👇️ for python 3 python3 -m pip install typing-extensions # 👇️ using py alias py -m pip install typing-extensions # 👇️ using conda conda install -c conda-forge typing-extensions # 👇️ alternative if you get permissions error pip install typing-extensions --user

After you install the
typing-extensions package, try
importing it as follows.

main.py
from typing_extensions import Required, TypedDict class Movie(TypedDict, total=False): title: Required[str] year: int

Alternatively, you can use the Python ipykernel.

  1. Open your terminal and type “jupyter notebook”.

打开 jupyter 笔记本

  1. Click on “New” and then click on “Python 3 (ipykernel)”.
    jupyter notebook 点击新的 ipykernel

  2. Type !pip install typing-extensions and click on “Run”.

jupyter notebook 安装模块

Note that the pip install command must be prefixed with an exclamation mark if
you use this approach.

shell
!pip install typing-extensions

键入命令后,单击“运行”以安装模块typing-extensions

如果出现权限错误,例如“ [WinError: 5] Access is denied”,请将
--user选项添加到安装命令中。

!pip install typing-extensions --user

使用用户选项安装 jupyter notebook

如果错误仍然存​​在,请尝试
重新启动 Jupyter 内核
并重新运行该命令。