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

Python中从根目录向子目录导入calc.py失败的解决方案求助

Python模块导入问题解决方法

你的目录结构如下:

├───coreyTutorials
   ├───test
   |   ├───test_calc.py
   │   ├───__init__.py
   ├───calc.py
   └───__init__.py

你尝试的两种导入方式失败原因分别是:

  • import calc失败:Python找不到calc模块,因为coreyTutorials目录不在它的模块搜索路径里。
  • from .. import calc失败:直接运行test_calc.py时,它被当成独立脚本,不属于任何包结构,所以无法识别相对导入的父级。

下面是几种可行的解决办法:

方法1:手动添加模块路径

在test_calc.py最开头加入以下代码,把coreyTutorials目录添加到Python的搜索路径中,之后就能直接导入calc:

import sys
from pathlib import Path

# 获取coreyTutorials目录的绝对路径并加入搜索路径
sys.path.append(str(Path(__file__).parent.parent))

import calc

方法2:以包的形式运行脚本

打开终端,切换到coreyTutorials的上级目录,执行以下命令运行测试脚本:

python -m coreyTutorials.test.test_calc

这时test_calc.py会被当作包的一部分,就可以用相对导入了:

from .. import calc

方法3:使用绝对导入

同样在以包形式运行的前提下,也可以用绝对导入方式:

from coreyTutorials import calc

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 09:14:56