无法备份帐套
- 
[quote author=Joshua link=topic=2244.msg7246#msg7246 date=1292549568] 
 但是我有个疑问,好像这个错误在log里面没有显示出来,要跟踪这个错误就只能直接看代码啦?
 [/quote]
 好象只在trunk里做了修改: [检测到链接无效,已移除]
- 
顶起来. 
 今天用 5.0.15 . 按 digitalsatori 的解决方案, 把 misc.py 文件中 的代码 更改为<br />...<br /><br />def exec_pg_command_pipe(name, *args):<br />    prog = find_pg_tool(name)<br />    if not prog:<br />        raise Exception('Couldn\'t find %s' % name)<br /><br />    #pop = subprocess.Popen(args, executable=prog, shell=True, bufsize= -1,<br />    #                      stdin=subprocess.PIPE, stdout=subprocess.PIPE, close_fds=True)<br />    pop = subprocess.Popen((prog,) + args, bufsize= -1,<br />                            stdin=subprocess.PIPE, stdout=subprocess.PIPE, close_fds=True)<br />    return (pop.stdin, pop.stdout)<br /><br />def exec_command_pipe(name, *args):<br />    prog = find_in_path(name)<br />    if not prog:<br />        raise Exception('Couldn\'t find %s' % name)<br /><br />    #pop = subprocess.Popen(args, executable=prog, shell=True, bufsize= -1,<br />    #                      stdin=subprocess.PIPE, stdout=subprocess.PIPE, close_fds=True)<br />    pop = subprocess.Popen((prog,) + args, bufsize= -1,<br />                            stdin=subprocess.PIPE, stdout=subprocess.PIPE, close_fds=True)<br /><br />    return (pop.stdin, pop.stdout)<br />...<br />
 替换后, 还是备份出错. digitalsatori 测试过了吗? 或者再深入看一下? 谢谢.
 目前暂时还是使用 os.popen2 解决...
- 
好吧. 自己解决了. 
 是因为 windows 不支持 close_fds 参数. 所以, 只需要按校长的 改. 并把 close_fds 参数去掉即可.
 既然 校长 B4我了一下... 我也B4校长一下... 哪能不测试就发出来哩... 最起码 os.popen2 的还能用嘛.. 嘿嘿嘿<br />...<br /><br />def exec_pg_command_pipe(name, *args):<br />    prog = find_pg_tool(name)<br />    if not prog:<br />        raise Exception('Couldn\'t find %s' % name)<br /><br />    #pop = subprocess.Popen(args, executable=prog, shell=True, bufsize= -1,<br />    #                      stdin=subprocess.PIPE, stdout=subprocess.PIPE, close_fds=True)<br />    pop = subprocess.Popen((prog,) + args, bufsize= -1, stdin=subprocess.PIPE, stdout=subprocess.PIPE)<br />    return (pop.stdin, pop.stdout)<br /><br />def exec_command_pipe(name, *args):<br />    prog = find_in_path(name)<br />    if not prog:<br />        raise Exception('Couldn\'t find %s' % name)<br /><br />    #pop = subprocess.Popen(args, executable=prog, shell=True, bufsize= -1,<br />    #                      stdin=subprocess.PIPE, stdout=subprocess.PIPE, close_fds=True)<br />    pop = subprocess.Popen((prog,) + args, bufsize= -1, stdin=subprocess.PIPE, stdout=subprocess.PIPE)<br /><br />    return (pop.stdin, pop.stdout)<br />...<br />
 5.0.15 server 测试通过...
- 
B4的有理,偶也B4一下校长。  多谢Shelly同学 多谢Shelly同学
- 
library.zip 里的文件都是 .pyo编译过的文件,我在源文件里修改完,用python -O 编译出现缺少模块的编译错误,总不能再生成一个windows的 server 安装包. 或者把misc.py 修改完直接放在library.zip里,是否可行. 
- 
[quote author=xtjie link=topic=2244.msg7387#msg7387 date=1295311398] 
 library.zip 里的文件都是 .pyo编译过的文件,我在源文件里修改完,用python -O 编译出现缺少模块的编译错误,总不能再生成一个windows的 server 安装包. 或者把misc.py 修改完直接放在library.zip里,是否可行.
 [/quote]
 try it .
 注意 优先级.
 当 .pyc .pyo 文件存在时. python 是不会去理会 .py 文件的.
- 
我就瞧这个贴子, 啥话都不说. 
 或者把misc.py 修改完直接放在library.zip里,是否可行.
 try it .
 注意 优先级.
 当 .pyc .pyo 文件存在时. python 是不会去理会 .py 文件的.
 如果你有仔细看回贴.. 应该不难找出解决办法.


