[odoo] In startup: AttributeError: 'module' object has no attribute 'tools'

Bug #1321919 reported by Maxime Chambreuil (http://www.savoirfairelinux.com)
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenERP buildout recipe
Fix Released
Critical
Georges Racinet

Bug Description

Using 1.8.3 recipe with Odoo 8.0, I get the following error message when starting odoo :

$ ./bin/start_openerp
Traceback (most recent call last):
  File "./bin/start_openerp", line 51, in <module>
    sys.exit(anybox.recipe.openerp.runtime.start_openerp.main('/home/max/odoo/8.0/git/sfl/tools/parts/../../../../git/odoo/openerp-server', '/home/max/odoo/8.0/git/sfl/tools/etc/dev.cfg', version=(8, 0)))
  File "/home/max/odoo/8.0/git/sfl/tools/eggs/anybox.recipe.openerp-1.8.3-py2.7.egg/anybox/recipe/openerp/runtime/start_openerp.py", line 66, in main
    execfile(starter, globals())
  File "/home/max/odoo/8.0/git/sfl/tools/parts/../../../../git/odoo/openerp-server", line 2, in <module>
    import openerp
  File "/opt/odoo/8.0/odoo/openerp/__init__.py", line 70, in <module>
    import cli
  File "/opt/odoo/8.0/odoo/openerp/cli/__init__.py", line 5, in <module>
    from openerp import tools
  File "/opt/odoo/8.0/odoo/openerp/tools/__init__.py", line 27, in <module>
    from convert import *
  File "/opt/odoo/8.0/odoo/openerp/tools/convert.py", line 52, in <module>
    from dateutil.relativedelta import relativedelta
  File "/home/max/odoo/8.0/git/sfl/tools/eggs/python_dateutil-1.5-py2.7.egg/dateutil/relativedelta.py", line 11, in <module>
    import calendar
  File "/opt/odoo/8.0/odoo/addons/calendar/__init__.py", line 22, in <module>
    from . import calendar
  File "/opt/odoo/8.0/odoo/addons/calendar/calendar.py", line 26, in <module>
    import openerp.service.report
  File "/opt/odoo/8.0/odoo/openerp/service/__init__.py", line 24, in <module>
    import db
  File "/opt/odoo/8.0/odoo/openerp/service/db.py", line 347, in <module>
    @openerp.tools.mute_logger('openerp.sql_db')
AttributeError: 'module' object has no attribute 'tools'
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/apport_python_hook.py", line 64, in apport_excepthook
    from apport.fileutils import likely_packaged, get_recent_crashes
  File "/usr/lib/python2.7/dist-packages/apport/__init__.py", line 5, in <module>
    from apport.report import Report
  File "/usr/lib/python2.7/dist-packages/apport/report.py", line 28, in <module>
    import problem_report
  File "/usr/lib/python2.7/dist-packages/problem_report.py", line 16, in <module>
    from email.mime.multipart import MIMEMultipart
  File "/usr/lib/python2.7/email/mime/multipart.py", line 9, in <module>
    from email.mime.base import MIMEBase
  File "/usr/lib/python2.7/email/mime/base.py", line 9, in <module>
    from email import message
  File "/usr/lib/python2.7/email/message.py", line 16, in <module>
    import email.charset
  File "/usr/lib/python2.7/email/charset.py", line 13, in <module>
    import email.base64mime
  File "/usr/lib/python2.7/email/base64mime.py", line 40, in <module>
    from email.utils import fix_eols
  File "/usr/lib/python2.7/email/utils.py", line 32, in <module>
    from email._parseaddr import quote
  File "/usr/lib/python2.7/email/_parseaddr.py", line 16, in <module>
    import time, calendar
  File "/opt/odoo/8.0/odoo/addons/calendar/__init__.py", line 22, in <module>
    from . import calendar
  File "/opt/odoo/8.0/odoo/addons/calendar/calendar.py", line 25, in <module>
    import openerp
  File "/opt/odoo/8.0/odoo/openerp/__init__.py", line 70, in <module>
    import cli
  File "/opt/odoo/8.0/odoo/openerp/cli/__init__.py", line 5, in <module>
    from openerp import tools
  File "/opt/odoo/8.0/odoo/openerp/tools/__init__.py", line 27, in <module>
    from convert import *
  File "/opt/odoo/8.0/odoo/openerp/tools/convert.py", line 56, in <module>
    from translate import _
  File "/opt/odoo/8.0/odoo/openerp/tools/translate.py", line 28, in <module>
    import openerp.sql_db as sql_db
AttributeError: 'module' object has no attribute 'sql_db'

Original exception was:
Traceback (most recent call last):
  File "./bin/start_openerp", line 51, in <module>
    sys.exit(anybox.recipe.openerp.runtime.start_openerp.main('/home/max/odoo/8.0/git/sfl/tools/parts/../../../../git/odoo/openerp-server', '/home/max/odoo/8.0/git/sfl/tools/etc/dev.cfg', version=(8, 0)))
  File "/home/max/odoo/8.0/git/sfl/tools/eggs/anybox.recipe.openerp-1.8.3-py2.7.egg/anybox/recipe/openerp/runtime/start_openerp.py", line 66, in main
    execfile(starter, globals())
  File "/home/max/odoo/8.0/git/sfl/tools/parts/../../../../git/odoo/openerp-server", line 2, in <module>
    import openerp
  File "/opt/odoo/8.0/odoo/openerp/__init__.py", line 70, in <module>
    import cli
  File "/opt/odoo/8.0/odoo/openerp/cli/__init__.py", line 5, in <module>
    from openerp import tools
  File "/opt/odoo/8.0/odoo/openerp/tools/__init__.py", line 27, in <module>
    from convert import *
  File "/opt/odoo/8.0/odoo/openerp/tools/convert.py", line 52, in <module>
    from dateutil.relativedelta import relativedelta
  File "/home/max/odoo/8.0/git/sfl/tools/eggs/python_dateutil-1.5-py2.7.egg/dateutil/relativedelta.py", line 11, in <module>
    import calendar
  File "/opt/odoo/8.0/odoo/addons/calendar/__init__.py", line 22, in <module>
    from . import calendar
  File "/opt/odoo/8.0/odoo/addons/calendar/calendar.py", line 26, in <module>
    import openerp.service.report
  File "/opt/odoo/8.0/odoo/openerp/service/__init__.py", line 24, in <module>
    import db
  File "/opt/odoo/8.0/odoo/openerp/service/db.py", line 347, in <module>
    @openerp.tools.mute_logger('openerp.sql_db')
AttributeError: 'module' object has no attribute 'tools'

if I start Odoo normally, I don't get error message :

$ ./git/odoo/openerp-server -c etc/dev.cfg
2014-05-21 20:26:33,371 2493 INFO ? openerp: OpenERP version 8.0alpha1
2014-05-21 20:26:33,371 2493 INFO ? openerp: addons paths: ['/home/max/.local/share/OpenERP/addons/8.0', u'/home/max/odoo/8.0/git/odoo/openerp/addons', u'/home/max/odoo/8.0/git/sfl/addons', u'/home/max/odoo/8.0/git/odoo/addons', '/opt/odoo/8.0/odoo/openerp/addons']
2014-05-21 20:26:33,371 2493 INFO ? openerp: database hostname: localhost
2014-05-21 20:26:33,371 2493 INFO ? openerp: database port: 5432
2014-05-21 20:26:33,371 2493 INFO ? openerp: database user: odoo8dev
2014-05-21 20:26:33,447 2498 INFO ? openerp.service.server: Worker WorkerHTTP (2498) alive
2014-05-21 20:26:33,448 2499 INFO ? openerp.service.server: Worker WorkerHTTP (2499) alive
2014-05-21 20:26:33,450 2500 INFO ? openerp.service.server: Worker WorkerHTTP (2500) alive
2014-05-21 20:26:33,451 2501 INFO ? openerp.service.server: Worker WorkerHTTP (2501) alive
2014-05-21 20:26:33,452 2502 INFO ? openerp.service.server: Worker WorkerCron (2502) alive
2014-05-21 20:26:33,750 2503 INFO ? openerp: OpenERP version 8.0alpha1
2014-05-21 20:26:33,750 2503 INFO ? openerp: addons paths: ['/home/max/.local/share/OpenERP/addons/8.0', u'/home/max/odoo/8.0/git/odoo/openerp/addons', u'/home/max/odoo/8.0/git/sfl/addons', u'/home/max/odoo/8.0/git/odoo/addons', '/opt/odoo/8.0/odoo/openerp/addons']
2014-05-21 20:26:33,750 2503 INFO ? openerp: database hostname: localhost
2014-05-21 20:26:33,750 2503 INFO ? openerp: database port: 5432
2014-05-21 20:26:33,750 2503 INFO ? openerp: database user: odoo8dev
2014-05-21 20:26:33,828 2503 INFO ? openerp.service.server: Evented Service (longpolling) running on 0.0.0.0:8072

Related branches

Revision history for this message
Christophe Combelles (ccomb) wrote :

Thanks for the report, this is due to the new "calendar" module in Odoo, that comes before the Python calendar module.

The quick workaround I used yesterday to setup a demo urgently for Solutions Linux was to manually modify bin/start_openerp and replace sys.path[0:0] = [...] with sys.path.extend([...]).

Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) wrote :

The fix works for me.

Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) wrote :

Thanks!

Revision history for this message
Georges Racinet (gracinet) wrote :

Thanks, Christophe for relating the issue to the extends problem.
I'm starting to look at this (ideally for the stable branch, but can't promise on this).

Changed in anybox.recipe.openerp:
assignee: nobody → Georges Racinet (gracinet)
importance: Undecided → Critical
status: New → Confirmed
Revision history for this message
Georges Racinet (gracinet) wrote :

Committed the fix in stable branch (it is eligible because that change only applies to major version >= 8.0).
Please check the commit message fo details : http://bazaar.launchpad.net/~anybox/anybox.recipe.openerp/1.8/revision/530

Maxime, if you'd be so kind to confirm it works for you, and run with it for a short while, that'd be appreciable for the preparation of 1.8.4 (should be right before OpenERP Days).

Thanks !

summary: - AttributeError: 'module' object has no attribute 'tools'
+ [odoo] In startup: AttributeError: 'module' object has no attribute
+ 'tools'
Changed in anybox.recipe.openerp:
milestone: none → 1.8.4
status: Confirmed → Fix Committed
Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) wrote :

Yes it does work.

I will let you know if something breaks until the 1.8.4 is released.

Thanks!

Revision history for this message
Georges Racinet (gracinet) wrote : Re: [Bug 1321919] Re: [odoo] In startup: AttributeError: 'module' object has no attribute 'tools'

On 05/27/2014 03:23 PM, Maxime Chambreuil
(http://www.savoirfairelinux.com) wrote:
> Yes it does work.
>
> I will let you know if something breaks until the 1.8.4 is released.

Great, thank you !

--
Georges Racinet
Anybox SAS, http://anybox.fr
Bureau: 09 72 39 50 97 / 09 72 39 13 06
Portable: 06 51 32 07 27
GPG: 0x33AB0A35, sur serveurs publics

Changed in anybox.recipe.openerp:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.