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

VS Code中Python调用另一文件定义的函数报NameError问题

故障排查与解决步骤

1. 优先排查工作目录配置问题

VS Code默认运行Python代码时,终端工作目录可能不是两个Python文件所在的文件夹,导致Python无法识别同目录下的helloworld模块。
解决操作:

  • 打开VS Code设置,搜索python.terminal.executeInFileDir,勾选该配置项,后续运行Python文件时会自动将当前文件所在目录设为工作目录。
  • 临时验证可在main.py头部加入以下代码,确认当前工作目录是否正确:
import os
# 输出的路径如果和两个文件存放的文件夹不一致,就属于工作目录配置问题
print(os.getcwd())

2. 检查Python解释器匹配问题

VS Code当前选中的解释器和你测试用的REPL环境解释器不一致,或存在旧的模块缓存,也会导致导入失效。
解决操作:

  • 按下Ctrl+Shift+P(Mac系统为Cmd+Shift+P)调出命令面板,搜索「Python: Select Interpreter」,选择和REPL环境一致的Python解释器版本。
  • 删除文件夹下自动生成的__pycache__缓存目录,再重新运行代码。

3. 排查同名模块冲突

如果系统或Python环境中存在其他名为helloworld的模块,会优先导入冲突的模块而非你写的文件。
验证方法:在main.py的导入语句后添加以下代码,查看实际导入的模块路径:

import helloworld
# 输出的路径如果不是你编写的helloworld.py的路径,就说明存在冲突
print(helloworld.__file__)

确认冲突后,修改你写的helloworld.py文件名,或者删除冲突的同名模块即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 16:57:04