Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

5

Can't install any community module on openerp v7 "Import Error: No module named wizard"

By
Micha Wagner
on 4/10/13, 5:12 AM 9,846 views

Hi,

I would like to install a e-banking module. I'm using openERP v7.0 on a virtual ubuntu server v12. Now if I try to install any community module from apps.openerp.com, I've get the following error:

> OpenERP Server Error
> 
> Client Traceback (most recent call
> last):   File
> "/usr/lib/pymodules/python2.7/openerp/addons/web/http.py",
> line 203, in dispatch
>     response["result"] = method(self, **self.params)   File "/usr/lib/pymodules/python2.7/openerp/addons/web/controllers/main.py",
> line 1133, in call_button
>     action = self._call_kw(req, model, method, args, {})   File
> "/usr/lib/pymodules/python2.7/openerp/addons/web/controllers/main.py",
> line 1121, in _call_kw
>     return getattr(req.session.model(model),
> method)(*args, **kwargs)   File
> "/usr/lib/pymodules/python2.7/openerp/addons/web/session.py",
> line 43, in proxy
>     result = self.proxy.execute_kw(self.session._db,
> self.session._uid,
> self.session._password, self.model,
> method, args, kw)   File
> "/usr/lib/pymodules/python2.7/openerp/addons/web/session.py",
> line 31, in proxy_method
>     result = self.session.send(self.service_name,
> method, *args)   File
> "/usr/lib/pymodules/python2.7/openerp/addons/web/session.py",
> line 104, in send
>     raise xmlrpclib.Fault(openerp.tools.ustr(e),
> formatted_info)
> 
> 
> Server Traceback (most recent call
> last):   File
> "/usr/lib/pymodules/python2.7/openerp/addons/web/session.py",
> line 90, in send
>     return openerp.netsvc.dispatch_rpc(service_name,
> method, args)   File
> "/usr/lib/pymodules/python2.7/openerp/netsvc.py",
> line 293, in dispatch_rpc
>     result = ExportService.getService(service_name).dispatch(method,
> params)   File
> "/usr/lib/pymodules/python2.7/openerp/service/web_services.py",
> line 626, in dispatch
>     res = fn(db, uid, *params)   File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py",
> line 188, in execute_kw
>     return self.execute(db, uid, obj, method, *args, **kw or {})   File
> "/usr/lib/pymodules/python2.7/openerp/osv/osv.py",
> line 131, in wrapper
>     return f(self, dbname, *args, **kwargs)   File "/usr/lib/pymodules/python2.7/openerp/osv/osv.py",
> line 197, in execute
>     res = self.execute_cr(cr, uid, obj, method, *args, **kw)   File
> "/usr/lib/pymodules/python2.7/openerp/osv/osv.py",
> line 185, in execute_cr
>     return getattr(object, method)(cr, uid, *args, **kw)   File
> "/usr/lib/pymodules/python2.7/openerp/addons/base/module/module.py",
> line 424, in button_immediate_install
>     return self._button_immediate_function(cr,
> uid, ids, self.button_install,
> context=context)   File
> "/usr/lib/pymodules/python2.7/openerp/addons/base/module/module.py",
> line 475, in
> _button_immediate_function
>     _, pool = pooler.restart_pool(cr.dbname,
> update_module=True)   File
> "/usr/lib/pymodules/python2.7/openerp/pooler.py",
> line 39, in restart_pool
>     registry = RegistryManager.new(db_name,
> force_demo, status, update_module)  
> File
> "/usr/lib/pymodules/python2.7/openerp/modules/registry.py",
> line 218, in new
>     openerp.modules.load_modules(registry.db,
> force_demo, status, update_module)  
> File
> "/usr/lib/pymodules/python2.7/openerp/modules/loading.py",
> line 348, in load_modules
>     processed = load_marked_modules(cr, graph,
> states_to_load, force, status, report,
> loaded_modules, update_module)   File
> "/usr/lib/pymodules/python2.7/openerp/modules/loading.py",
> line 259, in load_marked_modules
>     loaded, processed = load_module_graph(cr, graph,
> progressdict, report=report,
> skip_modules=loaded_modules,
> perform_checks=perform_checks)   File
> "/usr/lib/pymodules/python2.7/openerp/modules/loading.py",
> line 162, in load_module_graph
>     load_openerp_module(package.name)   File
> "/usr/lib/pymodules/python2.7/openerp/modules/module.py",
> line 405, in load_openerp_module
>     __import__('openerp.addons.' + module_name)   File
> "/usr/lib/pymodules/python2.7/openerp/modules/module.py",
> line 133, in load_module
>     mod = imp.load_module('openerp.addons.' +
> module_part, f, path, descr)   File
> "/usr/lib/pymodules/python2.7/openerp/addons/account_banking/__init__.py",
> line 29, in <module>
>     import banking_import_transaction   File
> "/usr/lib/pymodules/python2.7/openerp/addons/account_banking/banking_import_transaction.py",
> line 36, in <module>
>     from account_banking import sepa   File
> "/usr/lib/pymodules/python2.7/openerp/addons/account_banking/account_banking.py",
> line 64, in <module>
>     from wizard.banktools import get_or_create_bank   File
> "/usr/lib/pymodules/python2.7/openerp/addons/account_banking/wizard/__init__.py",
> line 22, in <module>
>     import bank_payment_manual   File "/usr/lib/pymodules/python2.7/openerp/addons/account_banking/wizard/bank_payment_manual.py",
> line 27, in <module>
>     import wizard ImportError: No module named wizard

I've tried to install at last 6 different community modules. I always get the same error: "ImportError: No module named wizard". Well the community modules are designed for openERP v6.1, but almost all community modules only support v6.1. They don't support v7. My question is: Is this error appearing because the modules only support v6.1 or is there an other problem existing? Can anybody help me to fix it? Thanks a lot!

Regards

Michael

2

Sudhir Arya (SA)

--Sudhir Arya (SA)--
10150
| 6 8 8
Ahmedabad, India
--Sudhir Arya (SA)--

Working as an OpenERP/Odoo developer and a Team Leader 

Top 5 Odoo contributor On Stackoverflow

LinkedIn

Blog

Stackoverflow

Sudhir Arya (SA)
On 4/10/13, 6:47 AM

This could resolve your issue. ImportError: No module named wizard

You can see difference between Interface Wizard and Memory Wizard.

You can follow the given conversion steps for conversion:


Convert wizard.interface class into osv.osv_memeory class:

class wizard_class(wizard.interface):

Convert it like this:

class wizard_class(osv.osv_memeory):

and write _columns and methods inside this class.


Convert views from py to xml:

my_form = <?xml version="1.0"?>
<form string="Category Summary">
    <group colspan="4">
        <button name="check" type="object"/>
    </group>
</form>

Convert fields into osv.fields inside _columns:

my_fields = { 'partner_id': {'string': 'Partner', 'type': 'many2one', 'relation':'res.partner',}, }

Convert it like this:

_columns = {
    'partner_id': fields.many2one('res.partner', 'Partner'),
}

If there is any methods, put them inside the class.


Understand the flow first then remove following code from interface py:

states = {
    'init': {
        'actions': [],
        'result': {'type':'form', 'arch':my_form, 'fields':my_fields, 'state':[
            ('end','Cancel'), ('check','Print')]}
    },
    'check': {
        'actions': [],
        'result': {'type':'print', 'report': 'report_name',  'state':'end'}
    },
}

Here ('check','Print') is called from <button="check" which then call given report.

This are the rough steps, not standard steps. I follow this steps for conversion.

Hope this will help you.

Thank you.

I've seen this post, but I don't understand, how I should convert it to "osv.TransientModel". And why TransientModel.. I don't get it..

Micha Wagner
on 4/10/13, 7:14 AM

In short you have to convert it into osv.osv_memeory wizard.

Sudhir Arya (SA)
on 4/10/13, 9:12 AM

I hope you mean I should just replace the occurence "wizard.instance" within the code with "osv.osv_memory" - but I think, you mean something more complicated... I'll try

Micha Wagner
on 4/10/13, 9:22 AM

In v7 osv.osv_memory is deprecated and you should use osv.TransientModel instead.

Sudhir Arya (SA)
on 4/10/13, 9:39 AM

hi . i will make changes that mentioned above. But the same error "wizard_cheque_state_process.py", line 21, in <module> ImportError: No module named wizard" is appeared while trying to install the loan module.

charlesraj
on 6/19/13, 7:59 AM
0
Laoyumi
On 4/10/13, 11:12 PM

I managed to install "product_variant_multi" on V7!

Found that there is another "addons" directory under server, in my case "/opt/openerp/server/openerp/addons". Copied the "product_variant_multi.zip" in there and then logged in as "admin" went to "Settings - Update Modules List".

After this it listed under "Installed Modules" with filter removed.

PS: This method worked also with "product_variant_configurator.zip" but failed so far with "sale_product_multistep_configurator.zip". Do not know why!

Strange... I only find a directory called psa/ - there is no openerp. But if I read the comments about product_variant_configurator in http://apps.openerp.com it is normal that it works on v7. Although, there are some error appearing (look at the errors), but thx.

Micha Wagner
on 4/11/13, 9:35 AM
0
Cyrus Waithaka
On 9/17/14, 10:13 AM

Check your addons folder to see if you have wizard.zip. Or you could remove any .zip folders that you have added to the addons folder lately.

0

Francesco OpenCode

--Francesco OpenCode--
3608
| 5 7 9
Grottaglie, Italy
--Francesco OpenCode--

Italian Odoo (OpenERP) Modules Developer LINKEDIN: http://www.linkedin.com/in/francescoapruzzese

Francesco OpenCode
On 4/10/13, 6:25 AM

Are you passing the web/addons path to your OpenERP installation? If you run OpenERP by command line, you can do something like this:

python server/openerp-server --log-level=debug --addons-path=/home/user/openerp/addons/,/home/user/openerp/web/addons/, -r openerp_user -w openerp_password

note: /home/user/openerp/web/addons/

Well, I've put the module inside /usr/lib/pymodules/python2.7/openerp/addons like I've read on several posts inside the forum. Is it important to use /home/user/openerp/addons/ ? So I'm not explicitly passing the path. There is no need to because /usr/lib/pymodules/python2.7/openerp/addons is default.

Micha Wagner
on 4/10/13, 7:13 AM
0

Med Said BARA

--Med Said BARA--
2664
| 5 5 7
Algeria
--Med Said BARA--
Med Said BARA
On 9/18/14, 11:13 AM

The error you get is because you are using account_banking from V6.1 or V6.0.

The solution is to use the right module version for V7.0

0
Micha Wagner
On 4/10/13, 7:24 AM

Sudhir Arya: In your linked thread you explained, it could be fixed like following:

I guess there might be a wizard.interface somewhere in your module.

OpenERP v5, v6 and v6.1 supports wizard.interface but v7 does not support it anymore.

You have convert those interface wizards into osv.TransientModel, after that your module will be installed in version-7.

But how do I convert it to osv.TransientModel? Inside my account banking module I've found one occurence of wizard.interface:

import wizard import pooler

class payment_manual(wizard.interface): def _action_set_state_sent(self, cursor, uid, data, context):

How do I convert it to the transien model thing?

Thanks!

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

3 follower(s)

Stats

Asked: 4/10/13, 5:12 AM
Seen: 9846 times
Last updated: 3/16/15, 8:10 AM