Jupyter Notebook导入pyvisa报错:无法从typing-extensions导入Self
问题描述
在Jupyter Notebook中导入pyvisa时触发ImportError,提示无法从typing-extensions中导入Self。已确认typing-extensions已安装(版本4.12.2),单独导入Self也失败,当前使用Python 3.9.7。
报错信息:
ImportError Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_7240/3478553642.py in <module> 4 get_ipython().system('pip install typing-extensions') 5 ----> 6 import pyvisa as pv ~\anaconda3\lib\site-packages\pyvisa\__init__.py in <module> 26 VisaTypeError, 27 ) ---> 28 from .highlevel import ResourceManager 29 from .resources import Resource # noqa : F401 This is needed to register all resources. 30 ~\anaconda3\lib\site-packages\pyvisa\highlevel.py in <module> 41 from typing_extensions import ClassVar, DefaultDict, Literal 42 ---> 43 from . import attributes, constants, errors, logger, rname 44 from .constants import StatusCode 45 from .typing import ( ~\anaconda3\lib\site-packages\pyvisa\rname.py in <module> 24 ) 25 ---> 26 from typing_extensions import ClassVar, Self 27 28 from . import constants, errors, logger ImportError: cannot import name 'Self' from 'typing_extensions' (C:\Users\jackj\anaconda3\lib\site-packages\typing_extensions.py)
解决方案
- 调整
typing-extensions版本:Self在typing-extensions4.9.0版本才正式引入,部分场景下高版本可能存在适配问题,尝试卸载当前版本后安装指定版本:pip uninstall -y typing-extensions pip install typing-extensions==4.9.0 - 降级
pyvisa版本:若上述方法无效,可能是当前pyvisa版本与Python3.9.7兼容性不足,安装适配旧版本Python的pyvisa:pip uninstall -y pyvisa pip install pyvisa==1.13.0 - 确认环境一致性:检查Jupyter Notebook使用的Python环境是否与安装包的环境一致,在Notebook中运行以下代码验证:
若输出路径与执行import sys print(sys.executable)pip命令的Python路径不符,使用环境对应pip安装包,例如:!{sys.executable} -m pip install typing-extensions==4.9.0
内容的提问来源于stack exchange,提问作者Jack J
相关产品推荐
相关产品推荐

