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

主脚本调用同目录下lidar_source_code.py函数遇ModuleNotFoundError求助

解决Python跨文件导入函数的ModuleNotFoundError问题

核心原因

Python导入模块时,只会在默认搜索路径内查找文件,默认路径包含:

  • 脚本当前运行目录
  • Python标准库目录
  • 第三方库安装目录

如果lidar_source_code.py不在这些路径中,就会触发找不到模块的错误。

具体解决方法

  • 方法1:将文件放在同一目录
    直接把lidar_source_code.py和主脚本py_lidar_depressions.py放在同一个文件夹下,你原本的导入语句from lidar_source_code import *就能正常生效。

  • 方法2:手动添加文件目录到搜索路径
    若两个文件不在同一目录,在主脚本开头添加以下代码,将lidar_source_code.py所在的文件夹路径加入Python搜索路径:

    import sys
    sys.path.append("/实际文件夹路径")
    from lidar_source_code import *
    

    注意把/实际文件夹路径替换成真实路径(比如Windows系统是C:\xxx\目标文件夹,Linux/macOS是/home/user/目标文件夹)。

  • 方法3:将目标文件夹设为Python包(适合长期项目)

    1. 在lidar_source_code.py所在的文件夹里创建空文件__init__.py(文件名前后各两个下划线),让Python识别该文件夹为一个包。
    2. 假设目录结构如下:
      项目文件夹/
      ├─ py_lidar_depressions.py
      └─ lidar工具包/
         ├─ __init__.py
         └─ lidar_source_code.py
      
      主脚本中可这样导入:
      from lidar工具包.lidar_source_code import *
      
      如果包不在默认搜索路径,同样需要先用sys.path.append添加包所在的上级目录。

对你疑问的解答

是的,当目标文件不在Python默认搜索路径里时,必须指定它的位置(要么放在同一目录,要么手动添加路径,要么做成包)。很多教程默认假设两个文件在同一目录,所以省略了这一步说明。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 10:45:33