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

Python自动化脚本ModuleNotFoundError:自定义模块导入失败求助

解决Python自定义模块导入失败的问题

针对你遇到的ModuleNotFoundError,按以下步骤逐一排查:

1. 修正包标识文件的名称

你的O文件夹里的init.py必须重命名为__init__.py(前后各两个下划线),这是Python识别文件夹为可导入包的必要条件。没有这个文件,Python会把O当成普通文件夹,而非可导入模块。

2. 检查执行脚本的工作目录

确保你是在项目根目录下运行test_check_leads.py,而非在testCases文件夹内直接运行。

  • 比如你的项目根路径是C:\Users\Public\CheckLeads,就先切换到这个目录,再执行:
    python testCases/test_check_leads.py
    

如果必须在testCases内运行,可在脚本开头添加代码,手动将根目录加入Python的搜索路径:

import sys
import os
# 获取项目根目录(当前脚本所在文件夹的上层目录)
root_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(root_path)

3. 核对导入语句的一致性

注意报错信息里显示的是from T.objects import Boost_Media,但你说现在用的是from O.objects import Boost_media,这里有两处不匹配:

  • 模块名:T vs O——确认虚拟机里的test_check_leads.py确实已经更新为新的导入语句,没有残留旧代码。
  • 类名大小写:Boost_Media vs Boost_media——Python是大小写敏感的,确保导入的类名和objects.py里的类名完全一致(你的objects.py里是Boost_media,导入时要小写m)。

4. 验证PYTHONPATH配置是否生效

在虚拟机里执行以下命令,确认项目根目录已经被添加到PYTHONPATH:

  • Linux/macOS:
    echo $PYTHONPATH
    
  • Windows:
    echo %PYTHONPATH%
    

如果没看到根路径,重新配置:

  • Linux/macOS(临时生效,重启终端后需要重新配置):
    export PYTHONPATH=/path/to/your/root_path:$PYTHONPATH
    
  • Windows(临时生效):
    set PYTHONPATH=C:\path\to\your\root_path;%PYTHONPATH%
    

要让配置永久生效,可将上述命令添加到终端的配置文件(比如Linux的~/.bashrc,Windows的系统环境变量)。

5. 检查文件名/路径的大小写(针对Linux虚拟机)

如果Paperspace虚拟机是Linux系统,文件名和路径是大小写敏感的。而Windows是不敏感的,比如你本地的O文件夹在虚拟机里如果被命名为o,就会导致导入失败。确认虚拟机里的文件夹名是O(大写),文件名objects.py拼写完全正确。

6. 清除Python缓存文件

Python会生成.pyc编译文件和__pycache__文件夹缓存模块信息,旧缓存可能导致导入异常。删除项目根目录下所有的__pycache__文件夹和.pyc文件,然后重新运行脚本。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 06:37:04