首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python raise child_exception OSError:[Errno 8] Exec格式错误

Python raise child_exception OSError:[Errno 8] Exec格式错误
EN

Stack Overflow用户
提问于 2013-06-05 03:28:11
回答 2查看 15.4K关注 0票数 4

我必须将python脚本从使用Python2.6的服务器移动到另一个使用2.4的服务器。

我不得不做一些修改。现在我卡住了。我一直收到这个错误

代码语言:javascript
复制
 File "subprocess.py", line 975, in _execute_child
    raise child_exception
OSError: [Errno 8] Exec format error         

我的日志输出:

代码语言:javascript
复制
Traceback (most recent call last):
File "/cnfs/dev/regions/que/cli/rpntrans_requests/scripts/0.6a/process.py", line 281, in ?
process(filename)
File "/cnfs/dev/regions/que/cli/rpntrans_requests/scripts/0.6a/process.py", line 259, in process
outputs = transformations[tr.tag](file).execute()
File "/cnfs/dev/regions/que/cli/rpntrans_requests/scripts/0.6a/process.py", line 114, in execute
t.execute()
File "/cnfs/dev/regions/que/cli/rpntrans/current/rpntrans.py", line 113, in execute
last_step.execute()
File "/cnfs/dev/regions/que/cli/rpntrans/current/rpntrans.py", line 941, in execute
stdout=sys.stdout, stderr=sys.stderr
File "subprocess.py", line 413, in call
return Popen(*args, **kwargs).wait()
File "subprocess.py", line 543, in __init__
errread, errwrite)
File "subprocess.py", line 975, in _execute_child
raise child_exception
OSError: [Errno 8] Exec format error

来自rpntrans.py的代码

代码语言:javascript
复制
    subprocess.call([
        os.path.join(module_root, 'bin/fst2r2c'),
        file,
        v_name, 
        str(r.ip2), str(r.ip2),
        out_file,
        '1', '0',
        '%s (ip1:%i)' % (self.dict[v_name]["desc"], r.ip1),
        self.dict[v_name]["units"],
        self.format,
        self.__get_interpolation(v_name)
    ],
        stdout=sys.stdout, stderr=sys.stderr
    )

有人有主意吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-05 03:38:07

如果bin/fst2r2c是二进制可执行文件,那么对于新服务器,它的格式是否正确?(您是否从Linux迁移到了BSD,或者从32位迁移到了64位?)

如果bin/fst2r2c是一个脚本,那么它的#!行是完整的吗?(你有没有在Windows上编辑过它并引入了一个\r?在新机器上其可执行文件的路径名是否不同,例如。/usr/bin/usr/local/bin?)

票数 15
EN

Stack Overflow用户

发布于 2013-06-05 03:37:22

首先从命令行运行您想从subprocess调用的命令,看看它是否工作。然后打印出你用Python生成的命令,比如os.path.join(module_root, 'bin/fst2r2c'),看看看起来是否一样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16925909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档