You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS下VSCode中Python3.10导入自定义模块报错,PyCharm正常

导入报错的原因分析

你的场景明确如下:
目录结构:

|--folder/
    |--a.py
|--main.py

在a.py中执行import main时触发ModuleNotFoundError,但PyCharm能正常运行,VSCode不行,核心原因是两者对Python模块搜索路径的默认处理逻辑不一样:

  • PyCharm的自动配置:PyCharm会默认把项目根目录(包含main.py和folder的那层目录)加入Python的模块搜索路径sys.path。这样a.py导入main时,Python能在搜索路径里找到main.py,自然不会报错。

  • VSCode的默认规则:VSCode不会自动将项目根目录添加到sys.path,它默认仅把当前执行脚本所在的目录(也就是folder/)纳入搜索路径。而main.py不在这个路径下,Python找不到对应模块,就会抛出找不到模块的错误。

如果要在VSCode中解决这个问题,有两种常用方式:

  1. 在a.py开头手动添加项目根目录到搜索路径:
import sys
import os
# 获取当前脚本的父目录的父目录(即项目根目录)
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
import main
  1. 在VSCode的settings.json里配置python.analysis.extraPaths,把项目根目录路径添加进去,让VSCode的Python分析器能识别到main模块。

内容的提问来源于stack exchange,提问作者Anton Migulev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 23:35:23