当前位置: 首页 > 知识教程 > openerp启动出现win32_service.pyo", line 42等报错
openerp启动出现win32_service.pyo", line 42等报错
Odoo,OpenERP中文网 / 2014-12-18

 精简过的32位系统,但vc运行库08,10都有。先安装了官方的8.0-allinone,在C:\openerp7\ 下安装成功,在应用程序事件中postgresql服务启动正常。但出现openerp-server报错:
The instance's SvcRun() method failed 
Traceback (most recent call last):
  File "win32serviceutil.pyo", line 835, in SvcRun
  File "win32_service.pyo", line 42, in SvcDoRun
SystemExit: 255 
%2: %3

进入安装目录,cmd下手动启动openerp-server,显示出错信息如下:
Traceback (most recent call last):
  File "openerp-server", line 2, in <module>
  File "C:\PROGRA~1\Odoo 8.0-20141015-000206\server\.\openerp\__init__.py", line
 78, in <module>
    import service
  File "C:\PROGRA~1\Odoo 8.0-20141015-000206\server\.\openerp\service\__init__.p
y", line 27, in <module>
    import wsgi_server
  File "C:\PROGRA~1\Odoo 8.0-20141015-000206\server\.\openerp\service\wsgi_serve
r.py", line 46, in <module>
    import websrv_lib
  File "C:\PROGRA~1\Odoo 8.0-20141015-000206\server\.\openerp\service\websrv_lib
.py", line 37, in <module>
    from SimpleHTTPServer import SimpleHTTPRequestHandler
  File "SimpleHTTPServer.pyc", line 27, in <module>

  File "SimpleHTTPServer.pyc", line 208, in SimpleHTTPRequestHandler

  File "mimetypes.pyc", line 358, in init

  File "mimetypes.pyc", line 258, in read_windows_registry
    --extension / -e  -- guess extension instead of type
  File "mimetypes.pyc", line 249, in enum_types

UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinal
not in range(128)

卸载8.0后又下载了官方的7.0-lates.exe,安装,启动错误依旧。家里的WLan封了sourceforge下载不到buke的绿色allinone,无法测试。但在白天在公司电脑上用buke的8.0allinone绿色版,安装后也是命令行出错如上。这是咋回事?度娘都说是python的源文件编写时没注意编码导致的,确实如此?

 

未必都是播放软件捣乱,也可能是旺旺之类的。总之
方法1、打开注册表hkey_classes_root下的mime分支database中中文键值删掉。ok!
方法2、自己动手修改python库文件,在runtime\python\lib下 mimetypes.py,用default_encoding查找定位256行(我的)default_encoding = sys.getdefaultencoding(),这一行前添加
# begin
if sys.getdefaultencoding() != 'gbk':
    reload(sys)
    sys.setdefaultencoding('gbk')
# end
default_encoding = sys.getdefaultencoding()


方法3、更新python到2.7.7,这是2.6.6的一个bug,新版已修复。