You need to enable JavaScript to run this app. HTCondor运行Python脚本成功但无输出文件及打印内容如何解决
优惠活动
大模型
产品
解决方案
定价
更多

HTCondor运行Python脚本成功但无输出文件及打印内容如何解决

解决步骤

你遇到的问题由多个配置疏漏共同导致,按以下顺序调整即可解决:


1. 先排查现有报错

首先查看提交目录下的condor_bin.err文件,你当前任务从开始执行到结束仅耗时1秒,远低于正常处理图像的耗时,说明脚本中途崩溃,具体错误原因会输出在err文件中。当前返回值为0属于异常状态下的异常返回,不代表脚本完整执行完成。


2. 修正Condor提交配置(test.info)

你现有配置存在3处核心问题:直接将Python脚本作为可执行文件、未传输输入图片、未指定要回传的pickle文件,修改后配置如下:

#Normal execution
Universe = vanilla

RequestCpus    = 1
RequestGPUs    = 0
RequestDisk = 150MB
RequestMemory  = 150MB
+RequestWalltime = 100

# 取消这两行的注释,启用文件传输
should_transfer_files = YES
when_to_transfer_output = ON_EXIT
# 新增:指定要传输到计算节点的输入文件(你的脚本需要读取0.jpg)
transfer_input_files = 0.jpg
# 新增:指定要回传到初始目录的输出文件
transfer_output_files = random_dat.pickle

NiceUser = true
Notification = Always

initialdir = /users/students/r0xxxxxx/Documents/testing_condor/
# 修改:可执行文件改为Python解释器,不要直接用py脚本作为可执行文件
# 请根据你的集群环境替换为实际python3路径,可登录集群节点执行which python3获取路径
executable = /usr/bin/python3
# 新增:给Python传入参数,-u是禁用输出缓冲,解决打印内容为空的问题
arguments = -u main.py

Log          = condor_bin.log
Output       = condor_bin.out
Error        = condor_bin.err

Queue 1

如果你的集群节点无法直接访问初始目录的main.py,也可以把main.py加入transfer_input_files列表:
transfer_input_files = 0.jpg, main.py


3. 修正Python脚本

增加容错判断,避免无报错直接崩溃:

import numpy as np
import pickle
import cv2 as cv
import sys

print('test', flush=True) # 加flush=True强制立即写入输出,避免缓冲导致内容丢失
# setup cv2
sift = cv.SIFT_create()
img = cv.imread("0.jpg", cv.IMREAD_GRAYSCALE)
# 新增:判断图片是否读取成功,读取失败直接抛错,方便定位问题
if img is None:
    print("无法读取0.jpg,请确认文件已传输", file=sys.stderr, flush=True)
    sys.exit(1)

for i in range(25):
    kp, des = sift.detectAndCompute(img, None)
    norms = np.linalg.norm(des, axis=1)

index = []
for p in kp:
    temp = (p.pt, p.size, p.angle, p.response, p.octave, p.class_id)
    index.append(temp)

with open('./random_dat.pickle', 'wb') as handle:
    pickle.dump((123456, index, des, norms), handle)
    
print("finished", flush=True)

调整后操作

修改完成后重新提交任务,执行完成后即可在初始目录看到非空的condor_bin.out和random_dat.pickle文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 13:06:04