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

Python跨文件夹导入类失败求助:找不到falcon模块

解决Python模块导入"No module named 'falcon'"的问题

问题核心

你直接运行plan1.py时,Python的模块搜索路径里没有包含falcon所在的父目录,所以识别不到falcon这个包结构,哪怕你加了__init__.py也没用。下面是几种可行的解决方法:


方法1:临时在脚本中添加模块路径

在plan1.py最开头加入代码,手动把falcon的父目录加入Python的搜索路径:

import sys
from pathlib import Path

# 回溯到falcon所在的父目录(根据你的项目结构,需要向上跳5级)
falcon_parent_dir = Path(__file__).resolve().parent.parent.parent.parent.parent
sys.path.append(str(falcon_parent_dir))

# 现在可以正常导入了
from falcon.lib.automation.base import AutomationBase

方法2:通过环境变量设置PYTHONPATH

运行脚本前,把falcon的父目录添加到PYTHONPATH环境变量中:

  • Linux/macOS终端:
    export PYTHONPATH="/实际路径/falcon的父目录:$PYTHONPATH"
    python falcon/automation/project1/plans/plan1.py
    
  • Windows命令提示符:
    set PYTHONPATH=C:\实际路径\falcon的父目录;%PYTHONPATH%
    python falcon\automation\project1\plans\plan1.py
    

方法3:用相对导入+模块方式运行

修改plan1.py里的导入语句为相对路径:

from ...lib.automation.base import AutomationBase

然后从falcon的父目录,用模块方式启动脚本:

python -m falcon.automation.project1.plans.plan1

注意:这种方式不能直接运行plan1.py,必须用python -m指定模块路径。

方法4:把项目安装为可编辑包(推荐长期开发)

在falcon的父目录下创建setup.py文件,内容如下:

from setuptools import setup, find_packages

setup(
    name="falcon",
    version="0.1.0",
    packages=find_packages(),
)

然后在该父目录下执行:

pip install -e .

之后falcon会被当作正式Python包,无论你在哪个目录运行脚本,都能正常导入目标类。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 00:45:49