Python 3.9.7下VS Code无法导入PIL、requests模块问题咨询
问题核心原因
Jupyter可正常导入PIL、requests,VS Code持续报模块不存在,本质是两个工具绑定的Python解释器不是同一个,你之前执行安装命令时,依赖都装到了Jupyter使用的Python环境中,没有装到VS Code当前选中的运行环境里。
补充说明:PyPI源中不存在名为PIL的安装包,直接执行pip install PIL本身就会报错,PIL的社区维护正式版本包名为Pillow,安装成功后导入语句才是import PIL。
解决步骤
- 第一步:确认Jupyter使用的解释器路径
在Jupyter中新建代码格运行以下代码,输出的就是Jupyter实际调用的Python解释器绝对路径:import sys print(sys.executable) - 第二步:切换VS Code的Python解释器
在VS Code中按快捷键Ctrl+Shift+P(Mac端为Cmd+Shift+P)调出命令面板,输入Python: Select Interpreter回车,在弹出的解释器列表中选择和上一步输出路径完全一致的选项;如果列表中没有对应路径,选择「Enter interpreter path」手动粘贴刚才输出的绝对路径即可。 - 第三步:若不想切换解释器,直接给VS Code当前环境装依赖
如果需要保留VS Code当前选中的解释器,直接打开VS Code内置终端,执行以下命令安装对应依赖,用python -m pip的方式调用当前环境的pip,可以彻底避免包装错环境的问题:# 先升级pip避免安装异常 python -m pip install --upgrade pip # 安装Pillow和requests python -m pip install Pillow requests - 第四步:生效验证
安装完成后,再次在命令面板输入Python: Restart Language Server回车重启Python语言服务,重新运行导入代码即可恢复正常。
常见踩坑提示:本地安装多版本Python(系统自带Python、conda虚拟环境、pyenv环境、官方安装版Python等)时,直接全局调用
pip安装的依赖,会默认装到系统环境变量优先级最高的Python版本目录下,很容易和当前项目使用的环境不匹配,所有装包操作优先用python -m pip的格式执行。
内容的提问来源于stack exchange,提问作者Lakshmi M
相关产品推荐
相关产品推荐

