ImportError: No module named typing
ImportError: No module named typing
我正在尝试创建 python2 virtualenv,所以我尝试 pip install 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
我得到一个与 pip install typing
几乎相同的错误
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
许多解决方案建议使用 python3,但我专门尝试创建一个 python 2 虚拟环境
我是 运行 MacOS Big Sur,配备 2018 Intel i3 Mac Mini
恐怕您必须使用其他版本。我知道你已经听过很多次了,但是 python 2.7 不再受支持(自 2021 年 1 月 1 日起),所以这就是它可能显示错误的原因。
打字模块仅对python 3.5 及以上版本有效。
typing
是
New in version 3.5.
因此 import typing
导致 python2.7
失败也就不足为奇了。因此,如果您发现使用 import typing
的项目至少适用于 python 3.5,或者使用与内置模块不同的 typing
。如果您知道想要 python2 生命终结的后果,请阅读 Sunsetting Python 2. If you have legacy python2 you might try porting to python3
点子 stopped supporting Python 2 in version 21。您需要为 Python 2.
安装旧版本的 pip
Python 2 已达到生命周期结束 (EOL)。因此,在版本 21 中从 pip
中删除了对 Python 2 的支持。您需要将 pip
降级到版本 20。
我试过这个(在 shell 命令行中):
# 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
现在,pip --version
显示版本 21,但在激活的环境中有版本 20:
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)
我尝试在venv中安装了一个随机包,它成功了。
我正在尝试创建 python2 virtualenv,所以我尝试 pip install 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
我得到一个与 pip install typing
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
许多解决方案建议使用 python3,但我专门尝试创建一个 python 2 虚拟环境
我是 运行 MacOS Big Sur,配备 2018 Intel i3 Mac Mini
恐怕您必须使用其他版本。我知道你已经听过很多次了,但是 python 2.7 不再受支持(自 2021 年 1 月 1 日起),所以这就是它可能显示错误的原因。
打字模块仅对python 3.5 及以上版本有效。
typing
是
New in version 3.5.
因此 import typing
导致 python2.7
失败也就不足为奇了。因此,如果您发现使用 import typing
的项目至少适用于 python 3.5,或者使用与内置模块不同的 typing
。如果您知道想要 python2 生命终结的后果,请阅读 Sunsetting Python 2. If you have legacy python2 you might try porting to python3
点子 stopped supporting Python 2 in version 21。您需要为 Python 2.
安装旧版本的 pipPython 2 已达到生命周期结束 (EOL)。因此,在版本 21 中从 pip
中删除了对 Python 2 的支持。您需要将 pip
降级到版本 20。
我试过这个(在 shell 命令行中):
# 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
现在,pip --version
显示版本 21,但在激活的环境中有版本 20:
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)
我尝试在venv中安装了一个随机包,它成功了。