Python ImportError:没有名为typing的模块
我正在尝试创建一个,所以我尝试Python ImportError:没有名为typing的模块,python,python-2.7,pip,virtualenv,python-typing,Python,Python 2.7,Pip,Virtualenv,Python Typing,我正在尝试创建一个,所以我尝试pip安装virtualenv并获得 Traceback (most recent call last): File "/usr/local/bin/pip", line 11, in <module> load_entry_point('pip==21.1.1', 'console_scripts', 'pip')() File "/System/Library/Frameworks/Python.fram
pip安装virtualenv
并获得
Traceback (most recent call last):
File "/usr/local/bin/pip", line 11, in <module>
load_entry_point('pip==21.1.1', 'console_scripts', 'pip')()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 489, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2843, in load_entry_point
return ep.load()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2434, in load
return self.resolve()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 2440, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/Library/Python/2.7/site-packages/pip-21.1.1-py2.7.egg/pip/__init__.py", line 1, in <module>
from typing import List, Optional
ImportError: No module named typing
恐怕你得用另一个版本。我知道您已经听了很多,但python 2.7不再受支持(自2021年1月1日起),因此它可能会显示错误。键入模块仅对python 3.5及以上版本有效 是 3.5版中的新版本
因此,
导入键入
导致了python2.7
中的失败就不足为奇了。所以,如果您发现使用import-typing
的项目至少适用于python 3.5,或者使用typing
与内置模块不同。如果你知道想知道蟒蛇2生命终结的后果,请阅读。如果你有传统的python2,你可以试试pip。您需要为Python2安装一个旧版本的pip。Python2已达到其生命周期的终点(EOL)。因此,对Python 2的支持从21版的pip
中删除。您需要将pip降级到版本20
我尝试了以下方法(在shell命令行中):
我尝试在venv中安装随机软件包,但成功了。不支持的确切含义是什么?我想做的是在不改变任何东西的情况下运行。Python2可能不受支持,但这仍然可能吗?我认为它将不再有效。“不支持”意味着它不再工作。@shryas这根本不是它的意思。现有的软件将一如既往地保持良好的工作状态。里面没有杀人开关。这只是意味着永远不会发布进一步的更新,如果有什么不起作用,请不要向我们哭诉。我不知道是谁否决了所有3个答案,但如果人们看到所有答案都被否决了,那么很可能会阻止人们留下更多答案。所有答案都集中在错误的事情上,无法解决您的问题。您需要降低Python的pip。看见您的问题不同,但降级过程和URL是相同的。您建议如何使用
pip==20.3.4
(最新的pip 20.X.Y)执行此操作如图所示的参数:有没有一种方法可以在虚拟环境中完成这一切?当我尝试pip安装pip==20.3.4
时,我得到了相同的错误typing@Sam由于您的pip已经“损坏”,因此无法使用它安装另一个版本的pip。您需要以其他方式从头开始安装它。请参阅文档,以了解最适合您的系统的方法。是否有任何工具可以轻松地将Python代码转换为python3@Sam您不需要将项目转换为Python3来运行它。取决于项目的复杂性,这可能是一项长达数月的工作。@Sam请看
# downgrade pip to 20.3.4
pip install --user pip==20.3.4
# better: 'pip<21', but it must be quoted!
# install virtualenv if not installed already
pip install --user virtualenv
# create a new venv for old python
virtualenv -p /usr/bin/python2.7 /tmp/venv27
# update pip back to the recent version
pip install --user --upgrade pip
sh-5.0$ pip --version
pip 21.1.1 from /home/vpfb/.local/lib/python3.9/site-packages/pip (python 3.9)
sh-5.0$ pwd
/tmp/venv27/bin
sh-5.0$ source ./activate
(venv27) sh-5.0$ pip --version
pip 20.3.4 from /tmp/venv27/lib/python2.7/site-packages/pip (python 2.7)