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

同目录Python脚本导入失败(ModuleNotFoundError)求助

同目录Python脚本导入失败的排查方案

1. 核对导入语法

在import_requests.py里的导入语句必须不带.py后缀,正确写法是:

import flask_router
# 或导入特定内容
from flask_router import 目标函数/类

2. 确认运行时的工作目录

执行脚本时,终端的工作目录必须是两个脚本所在的目录。可以在import_requests.py开头添加代码验证:

import os
print("当前工作目录:", os.getcwd())

如果输出不是脚本所在目录,要么切换到对应目录再运行,要么用绝对路径执行(比如python /完整路径/import_requests.py)。

3. 尝试添加__init__.py文件

尽管Python 3.3+支持无__init__.py的命名空间包,但部分工具(比如VS Code Python插件)仍依赖这个文件识别包。在脚本所在目录创建一个空的__init__.py文件,再尝试导入。

4. 检查VS Code的解释器配置

  • 打开命令面板(Ctrl+Shift+P),执行Python: Select Interpreter,确认选中的是你的Python 3.10.9版本。
  • 查看.vscode/settings.json,确保python.defaultInterpreterPath指向正确的解释器路径。

5. 验证PYTHONPATH是否生效

在终端执行对应命令查看PYTHONPATH:

# Linux/macOS
echo $PYTHONPATH

# Windows CMD
echo %PYTHONPATH%

# Windows PowerShell
$env:PYTHONPATH

确认脚本所在目录在路径列表中。临时设置的PYTHONPATH重启终端后会失效,建议添加到系统环境变量。

6. 排查命名冲突

检查flask_router.py和import_requests.py的名称是否与Python标准库、已安装的第三方库重名(比如脚本叫requests.py会和第三方库冲突)。如果重名,修改脚本名称即可。

7. 强制添加路径的兜底方案

如果以上方法都无效,在import_requests.py开头添加代码,强制将当前脚本目录加入Python路径:

import sys
from pathlib import Path

# 获取脚本所在目录
script_dir = Path(__file__).resolve().parent
sys.path.insert(0, str(script_dir))

import flask_router

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 00:35:35