Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ImportError:没有名为typing的模块_Python_Python 2.7_Pip_Virtualenv_Python Typing - Fatal编程技术网

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)