from ..xx import Config和from xx import Config都报错

三种方法总结:

python -m task.trajsimi 无需改代码,符合包运行方式 命令稍长,需在项目根执行
设置 PYTHONPATH 可直接 python .\task\trajsimi.py 使用 每次需手动设置,或配置 .env
改代码改用绝对导入 简单直观,可直接运行 修改源码,不利于同步原仓库

解决办法

方法一:用 -m 参数从项目根路径运行

最推荐的方式是在项目根目录执行:

python -m task.trajsimi

这时候 Python 会将当前目录当作包根,然后正确找到 config.py,解决相对导入的报错。

在 PowerShell 中:

PS E:\trajconnect\TrajCL> python -m task.trajsimi


方法二:调整 PYTHONPATH 环境变量

让 Python 将项目根加入模块搜索路径(sys.path)。在 Windows PowerShell 中:

$env:PYTHONPATH = "E:\trajconnect\TrajCL" python .\task\trajsimi.py

这样导入 config 就不会报错了。此外,你也可以在 .env 文件或 VS Code 的 launch.json 中加入类似设置。


方法三:使用绝对导入

修改 trajsimi.py,将:

from ..config import Config

改为:

from config import Config

然后配合设置 PYTHONPATH,效果同上。但如不想修改源码,推荐用方法一或方法二qiita.com+15geeksforgeeks.org+15reddit.com+15。


小结对比

方法 优点 缺点
python -m task.trajsimi 无需改代码,符合包运行方式 命令稍长,需在项目根执行
设置 PYTHONPATH 可直接 python .\task\trajsimi.py 使用 每次需手动设置,或配置 .env
改代码改用绝对导入 简单直观,可直接运行 修改源码,不利于同步原仓库


✅ 推荐步骤

  1. 打开 VS Code 终端,切换到仓库根目录 E:\trajconnect\TrajCL

  2. 执行:

    python -m task.trajsimi

  3. 如果仍有 ModuleNotFoundError,再执行:

    $env:PYTHONPATH = "E:\trajconnect\TrajCL" python -m task.trajsimi

通过以上两步,你应该可以顺利运行脚本。


如若你想使用 VS Code 的 Debug 模式,可在 .vscode/launch.json 中添加:

{ "name": "Run TrajCL trajsimi", "type": "python", "request": "launch", "module": "task.trajsimi", "cwd": "${workspaceFolder}", "env": { "PYTHONPATH": "${workspaceFolder}" } }

这样在点击 Debug 按钮时也能正确执行。

你可能感兴趣的:(AI相关,python)