VSCode中Pylint报错'tensorflow'模块无'keras',终端可正常导入
问题解决:VSCode Linter提示
tensorflow中无keras但终端可正常导入 问题描述
VSCode内置终端显示环境标识为(peakInt) (base) me@hostname:/path/to/project,代码检查工具(linter)对其余代码均正常工作,但执行from tensorflow import keras时,提示no name keras in module tensorflow;但在该终端进入Python环境后,可正常导入keras,导入时的日志信息如下:
from tensorflow import keras 2024-12-31 16:09:43.092470: I tensorflow/core/util/port.cc:113] oneDNN自定义操作已启用。由于不同计算顺序导致的浮点舍入误差,您可能会看到略有不同的数值结果。如需关闭,请设置环境变量`TF_ENABLE_ONEDNN_OPTS=0`。 2024-12-31 16:09:43.115161: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:9261] 无法注册cuDNN工厂:尝试为cuDNN插件注册工厂时,已有一个工厂被注册 2024-12-31 16:09:43.115186: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:607] 无法注册cuFFT工厂:尝试为cuFFT插件注册工厂时,已有一个工厂被注册 2024-12-31 16:09:43.116085: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1515] 无法注册cuBLAS工厂:尝试为cuBLAS插件注册工厂时,已有一个工厂被注册 2024-12-31 16:09:43.120355: I tensorflow/core/platform/cpu_feature_guard.cc:182] 此TensorFlow二进制文件针对性能关键操作优化,可利用可用的CPU指令。 如需启用以下指令:AVX2 AVX512F AVX512_VNNI AVX512_BF16 FMA,请使用适当的编译器标志重新构建TensorFlow。 2024-12-31 16:09:43.486869: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT警告:未找到TensorRT
解决方案
核心原因是VSCode的linter使用的Python解释器与终端激活的peakInt环境不一致,按以下步骤解决:
第一步:获取终端激活环境的Python路径
在VSCode内置终端中执行:# Linux/macOS which python # Windows where python复制输出的路径(例如
/home/me/miniconda3/envs/peakInt/bin/python)第二步:在VSCode中指定该解释器
按下Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS)打开命令面板,输入Python: Select Interpreter,选择刚才复制的路径第三步:重启语言服务(确保生效)
再次打开命令面板,输入Python: Restart Language Server,等待服务重启完成第四步:验证问题
返回代码编辑区域,检查from tensorflow import keras的提示是否消失
内容的提问来源于stack exchange,提问作者Frank
相关产品推荐
相关产品推荐

