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

在Python Shell中导入自定义*.py文件报ModuleNotFoundError如何解决

错误核心原因

你写的导入语句多了不必要的.py后缀。Python的import语法默认是按模块名查找,不需要加文件后缀,当你写from test.py import *时,解释器会将其识别为「从名为test的包中导入py模块下的所有内容」,而你只有单个test.py文件,不存在test这个包,自然会抛出'test' is not a package的报错。

修复方法
  • 首先确认你启动Python交互Shell的工作目录就是test.py所在的$HOME目录,如果你是在其他目录启动的shell,可先执行以下代码把$HOME加入模块搜索路径:
import sys
sys.path.append("$HOME")
  • 执行正确的导入语句,去掉.py后缀即可:
from test import *

导入完成后即可正常调用addtwo函数,示例:

print(addtwo(2, 3))
# 输出 5
补充注意事项
  • 不要给自定义Python文件与Python内置模块/常用第三方库重名,比如命名为math.py、json.py、requests.py,否则解释器会优先导入你写的同名文件,导致内置/第三方库无法正常调用。
  • 带后缀导入的特殊用法仅适用于自定义导入逻辑的场景,普通开发完全不需要使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 23:06:01