Pip命令行出现“ImportError: No Module Named Typing”错误

19

运行以下命令会给我以下错误:

pip install pygame

错误堆栈:

Traceback (most recent call last):
  File "C:\Python34\lib\runpy.py", line 171, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Python34\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Python34\Scripts\pip.exe\__main__.py", line 5, in <module>
  File "C:\Python34\lib\site-packages\pip\__init__.py", line 1, in <module>
    from typing import List, Optional
ImportError: No module named 'typing'

7
Python 3.4发布已经超过7年了,并且已经到达生命周期的尽头。当前版本的pip可能不再支持Python 3.4。 - Matthias
在哪个版本的Windows上?使用哪个Python“发行版”?Anaconda?是哪个版本? - Peter Mortensen
9个回答

35
在Mac终端中运行这行代码修复了我的问题:
/usr/local/opt/python@3.9/bin/python3.9 -m pip install --upgrade pip

我也遇到了同样的问题。在运行这一行代码之前,我先尝试了之前提到的pip3 install pygame。你可能需要先执行这个命令。对于那位建议尝试的人来说...


pip install typing

那行代码只会产生相同的错误。要修复它,你必须使用前面提到的命令。


我遇到了这个问题几天了,pip 对于所有的东西都报同样的错误。/usr/local/opt/python@3.9/bin/python3.9 -m pip install --upgrade pip 这个命令对我有用。 - Dami

15

我也遇到了同样的问题,因为我像Python建议的那样愚蠢地升级了pip。

我通过从https://bootstrap.pypa.io/pip/3.4/get-pip.py下载适用于python3.4的get_pip.py并运行它来解决这个问题:

python get_pip.py

它将自动下载最新兼容版本的pip(在这种情况下是19.1.1)。


1
curl https://bootstrap.pypa.io/pip/3.5/get-pip.py -o get-pip.py download and then python get_pip.py - Radzor

9

请尝试:

  1. wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
  2. python get-pip.py
这段内容涉及到IT技术,请尝试执行以上两个步骤来获取pip软件。

4
欢迎来到Stack Overflow!虽然这段代码可能解决了问题,但是如果您在回答中解释这个问题如何以及为什么被解决,将有助于提高您的帖子质量,也可能会获得更多的赞。请记住,你的回答不仅仅是给当前提问者看的,更是为未来的读者解答。请编辑您的回答,添加解释并说明适用的限制和假设。 - Yunnosch
这对我很有帮助,但是使用Python3.6而不是2.7。 - qba-dev

8

请按照以下步骤操作:

sudo apt update
sudo apt-get upgrade

如果出现问题,请执行以下操作:
sudo apt --fix-broken install
sudo apt-get upgrade

如果仍然存在问题,请删除并重新创建您的虚拟环境。然后重新安装您的依赖项:
rm -rf venv
python3.9 -m venv venv
. venv/bin/activate
pip install -r requirements.txt

1
“File "C:\Python34\lib\runpy.py"” 表示他正在使用 Windows。 - OwnageIsMagic

1

当我在Ubuntu 20.04上使用python3.9时,遇到了同样的错误,我尝试运行sudo apt update && sudo apt upgrade

输出建议我运行sudo apt --fix-broken install,这解决了我的问题,现在python3.9运行良好。


0

我在使用pip时遇到了错误,因为我的Ubuntu安装了Python 2.7和Python 3.5,版本和pip之间存在交叉问题。

我的解决方案是卸载Python 2.7和pip 2.7。我还卸载了Python 3.5和pip 3。

然后,我按照这些说明安装了Python 3.7:在Ubuntu 16.04和18.04上安装最新的Python 3.7

我不确定是否需要卸载3.5并添加3.7。您可能只需删除2.7即可,但这是对我有效的方法。


您无需卸载,可以指定与您想要使用的Python版本相对应的pip版本,例如 python3.7 -m pip install some_package - snakecharmerb

0

我也遇到了这个问题。任何以 pip 开头的命令都会出现相同的错误,ImportError: No module named 'typing'

最终,python -m pip install typing 解决了这个问题。


-3

试试这个:

pip3 install pygame

为什么使用'pip3'和'pip'会有所不同? - Peter Mortensen
@PeterMortensen 这是因为在操作系统Mac或Linux中,它们内置了Python 2.7(我认为大部分情况下是这样的)。所以,如果你运行pip命令,命令行将会运行Python 2.7 pip解释器。当你运行pip3时,它告诉命令行运行Python 3.9 pip解释器。 - Rydex

-5

看起来你正在从包 'typing' 导入,但你没有安装它。尝试安装这个包:

pip install typing

8
更好的解决方法是升级到最近的 Python 版本,因为它已经包含在标准库中。有可能你正在尝试使用的库在 3.4 版本中也不能很好地工作。 - tripleee
6
问题是pip本身在尝试导入typing时失败了,因为typing未安装。所以你不能运行pip install来解决这个问题。例如,Redhat可以运行“yum install python-typing”。然而,真正的问题可能是Python包已经升级到Python3.?,而pip正在运行Python2,所以...嘿... - gaoithe
2
@gaoithe 我的Python2 pip也遇到了同样的问题。结果发现我需要降级pip。https://dev59.com/AFEG5IYBdhLWcg3wct9F#65871131 - AMVaddictionist

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接