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

Sublime Text中Python文件import失效,ModuleNotFoundError问题求助

问题原因及解决方法

问题出在哪?

出现ModuleNotFoundError: No module named 'module'的核心原因是Python找不到你的module.py文件,常见场景有两种:

  1. main.py和module.py不在同一个目录下,Python默认只会搜索当前运行脚本的目录、系统内置模块路径,找不到其他目录里的文件。
  2. Sublime Text运行脚本时的工作目录不是main.py所在的文件夹,导致Python的搜索路径不包含module.py的位置。

修正方法

方法1:确保文件在同一目录

直接把main.py和module.py放在同一个文件夹里,这是最简单的解决方式,Python会自动识别同目录下的模块。

方法2:修改Sublime Text的构建系统

如果需要分开存放文件,或者Sublime的工作目录异常,可以自定义构建系统:

  1. 点击顶部菜单栏 Tools > Build System > New Build System
  2. 删除默认内容,替换为以下代码:
    {
        "cmd": ["python", "-u", "$file"],
        "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
        "working_dir": "$file_path",
        "selector": "source.python",
        "env": {"PYTHONPATH": "$file_path:$PYTHONPATH"}
    }
    
    (注:如果你的Python命令是python3,把第一行的python改成python3)
  3. 保存文件为PythonCustom.sublime-build,然后在Tools > Build System中选择这个自定义系统,再运行脚本即可。

方法3:在代码中手动添加模块路径

如果不想修改构建系统,可以在main.py开头添加代码,把module.py所在目录加入Python的搜索路径:

import sys
import os

# 获取当前脚本所在目录
current_dir = os.path.dirname(os.path.abspath(__file__))
# 如果该目录不在Python搜索路径中,添加进去
if current_dir not in sys.path:
    sys.path.append(current_dir)

import module

def main():
    module.greet("Linda")
if __name__ == "__main__":
    print("This is the Main.py file")
    main()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 04:46:02