静夏_Sh 2023-02-07 20:30 采纳率: 0%
浏览 74
已结题

Python中导入模块中的函数运行出错

Python中将deeplabv3+训练过程当做一个模块被调用时出错
deeplabv3+训练模块单独运行时不报错,被另一个文件调用时报错

train. py的内容:

import os
import datetime
import torch
省略掉一些导入的代码
def TrainDeeplabV3Plus():
  省略
if __name__=="__main__":
    TrainDeeplabV3Plus()

test. py的内容:

import train
train.TrainDeeplabV3Plus()
执行train.py是没问题的可以正常运行:

img

执行test. py报错而且很怪:

img

像是没跑完又重新从头开始加载了一样

应该不是import的问题,毕竟test.py中的内容也会运行,只不过是运行结果不对
等智慧的人解答,要更详细的内容可以call我,悬赏!
  • 写回答

5条回答 默认 最新

  • CodeBytes 2023-02-07 21:29
    关注

    该回答引用ChatGPT
    这个错误可能是由于train.py文件里的代码有一些前提条件(如文件路径)是以当前工作目录作为基准的,但是在test.py中调用train.py时工作目录不同,导致路径不正确。可以通过在train.py的代码里使用绝对路径来解决。
    train.py

    
    import os
    import sys
    sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
    import train
    train.TrainDeeplabV3Plus()
    
    

    test.py

    import os
    import sys
    sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
    import train
    train.TrainDeeplabV3Plus()
    
    
    评论

报告相同问题?

问题事件

  • 系统已结题 2月15日
  • 创建了问题 2月7日

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站