akretion / carrier-delivery-colipostefr

ColiPoste : Colissimo / So Colissimo for Odoo ERP
GNU Affero General Public License v3.0
2 stars 6 forks source link

Error when refreshing the module list #8

Open bwilmus opened 9 years ago

bwilmus commented 9 years ago

When I refresh the module list in odoo, just after transfering 3 modules (delivery_carrier_colipostefr, delivery_carrier_label_colissimo, laposte_api) inside my addons folder, I have the following error:

Traceback (most recent call last): File "/opt/odoo/odoo-server/openerp/http.py", line 526, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/opt/odoo/odoo-server/openerp/http.py", line 563, in dispatch result = self._call_function(_self.params) File "/opt/odoo/odoo-server/openerp/http.py", line 303, in _call_function return checked_call(self.db, args, _kwargs) File "/opt/odoo/odoo-server/openerp/service/model.py", line 113, in wrapper return f(dbname, _args, _kwargs) File "/opt/odoo/odoo-server/openerp/http.py", line 300, in checked_call return self.endpoint(_a, _kw) File "/opt/odoo/odoo-server/openerp/http.py", line 792, in call return self.method(_args, _kw) File "/opt/odoo/odoo-server/openerp/http.py", line 396, in response_wrap response = f(_args, _kw) File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 953, in call_button action = self._call_kw(model, method, args, {}) File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 941, in _call_kw return getattr(request.registry.get(model), method)(request.cr, request.uid, _args, _kwargs) File "/opt/odoo/odoo-server/openerp/api.py", line 241, in wrapper return old_api(self, _args, _kwargs) File "/opt/odoo/odoo-server/openerp/api.py", line 393, in old_api result = new_api(recs, _args, _kwargs) File "/opt/odoo/odoo-server/openerp/api.py", line 397, in new_api result = [method(rec, _args, _kwargs) for rec in self] File "/opt/odoo/odoo-server/openerp/addons/base/module/wizard/base_module_update.py", line 15, in update_module self.updated, self.added = self.env['ir.module.module'].update_list() File "/opt/odoo/odoo-server/openerp/api.py", line 239, in wrapper return new_api(self, _args, _kwargs) File "/opt/odoo/odoo-server/openerp/api.py", line 462, in new_api result = method(self._model, cr, uid, _args, *_kwargs) File "/opt/odoo/odoo-server/openerp/addons/base/module/module.py", line 654, in update_list handler.load_addons() File "/opt/odoo/odoo-server/openerp/http.py", line 1294, in load_addons m = import('openerp.addons.' + module) File "/opt/odoo/odoo-server/openerp/modules/module.py", line 79, in load_module mod = imp.load_module('openerp.addons.' + module_part, f, path, descr) File "/opt/odoo/custom/addons/delivery_carrier_colipostefr/init.py", line 11, in from . import company ImportError: cannot import name company

What should I do?

NB: company.py is inside the /opt/odoo/custom/addons/delivery_carrier_colipostefr folder

bealdav commented 9 years ago

laposte_api n'est pas un module odoo il s'installe avec pip install laposte_api si je me souviens bien éviter de déplacer les dossiers modifiez votre addons path dasn le fichier de config plutot

bwilmus commented 9 years ago

J'ai essayé la méthode suivante trouvée sur https://github.com/akretion/laposte_api

pip install git@github.com:akretion/laposte_api.git

Exception: Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/pip/basecommand.py", line 232, in main status = self.run(options, args) File "/usr/local/lib/python2.7/dist-packages/pip/commands/install.py", line 305, in run name, None, isolated=options.isolated_mode, File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 179, in from_line isolated=isolated) File "/usr/local/lib/python2.7/dist-packages/pip/req/req_install.py", line 52, in init req = pkg_resources.Requirement.parse(req) File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/init.py", line 2873, in parse reqs = list(parse_requirements(s)) File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/init.py", line 2820, in parse_requirements "version spec") File "/usr/local/lib/python2.7/dist-packages/pip/_vendor/pkg_resources/init.py", line 2785, in scan_list raise ValueError(msg, line, "at", line[p:]) ValueError: ('Expected version spec in', 'git@github.com:akretion/laposte_api.git', 'at', '@github.com:akretion/laposte_api.git')

J'ai donc essayé de lancer pip install sur le répertoire lui-même:

pip install laposte_api-master/

Processing ./laposte_api-master Requirement already satisfied (use --upgrade to upgrade): mako in /usr/lib/python2.7/dist-packages (from laposte-api==0.1.0) Collecting suds (from laposte-api==0.1.0) Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', gaierror(-2, 'Name or service not known'))': /simple/suds/ Retrying (Retry(total=3, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', gaierror(-2, 'Name or service not known'))': /simple/suds/ Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', gaierror(-2, 'Name or service not known'))': /simple/suds/ Retrying (Retry(total=1, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', gaierror(-2, 'Name or service not known'))': /simple/suds/ Retrying (Retry(total=0, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', gaierror(-2, 'Name or service not known'))': /simple/suds/ Retrying (Retry(total=4, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', gaierror(-2, 'Name or service not known'))': /simple/suds/ Retrying (Retry(total=3, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', gaierror(-2, 'Name or service not known'))': /simple/suds/ Retrying (Retry(total=2, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', gaierror(-2, 'Name or service not known'))': /simple/suds/ Retrying (Retry(total=1, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', gaierror(-2, 'Name or service not known'))': /simple/suds/ Retrying (Retry(total=0, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', gaierror(-2, 'Name or service not known'))': /simple/suds/ Could not find any downloads that satisfy the requirement suds (from laposte-api==0.1.0) No distributions at all found for suds (from laposte-api==0.1.0)

bealdav commented 9 years ago

@bwilmus J'ai mis à jour la doc pip install git+https://github.com/akretion/laposte_api.git

merci pour l'info

bwilmus commented 9 years ago

De rien, je viens de tester et ça semble fonctionner.

Reste le problème initial pour lequel j'avais créé cette "issue".

Lorsque le module delivery_carrier_colipostefr se trouve dans mon répertoire addons et que je rafraîchis la liste des modules, j'ai cette erreur qui apparaît:

File "/opt/odoo/custom/addons/delivery_carrier_colipostefr/init.py", line 11, in from . import company ImportError: cannot import name company

bealdav commented 9 years ago

Ce fichier delivery_carrier_colipostefr/init.py n'existe pas dans mon module.

Moi j'ai du init.py.

Merci de reprendre le bon code source.

je viens de comprendre c markdown qui transforme les chaines.

ceci reste vrai

éviter de déplacer les dossiers modifiez votre addons path dasn le fichier de config plutot

bwilmus commented 9 years ago

Peut-être que je m'y prends mal. Je télécharge le zip sur github et j'extrais deux répertoires:

Je copie ces deux répertoires dans mon répertoire addons qui correspond à mon "addons path" de mon fichier de config (/opt/odoo/custom/addons/) Je retourne dans odoo et je rafraîchis la liste des modules et ce bug apparaît.

Si j'efface le répertoire delivery_carrier_colipostefr et que je rafraîchis de nouveau la liste des modules, il n'y a plus de bug et le module delivery_carrier_label_colissimo est visible dans la liste. Mais si je veux l'installer, le message suivant apparaît: Vous essayez d'installer le module 'delivery_carrier_label_colissimo' qui dépend du module 'delivery_carrier_colipostefr'. Mais ce module n'est pas disponible sur votre système.

La méthode semble être correcte puisqu'elle fonctionne pour tous les modules que j'ai téléchargés sauf pour ce fameux 'delivery_carrier_colipostefr'

bealdav commented 9 years ago

Qu'est ce qui se passe avec une autre base fraichement créée ?

bwilmus commented 9 years ago

Exactement la même chose...

Traceback (most recent call last): File "/opt/odoo/odoo-server/openerp/http.py", line 526, in _handle_exception return super(JsonRequest, self)._handle_exception(exception)

........

File "/opt/odoo/custom/addons/delivery_carrier_colipostefr/init.py", line 11, in from . import company ImportError: cannot import name company

bealdav commented 9 years ago

De toute façon il vaut mieux ne pas télécharger les zip mais faire un git clone du repo git. C même la seule bonne méthode. Vous êtes bien sur 2 branches en v8 ? Sinon je vois pas trop comme cela si le fichier compnay est bien là. Seule une prise en main à distance me permettrais de faire la lumière.

bwilmus commented 9 years ago

J'ai supprimé les deux répertoires de mon répertoire addons J'ai fait un git clone https://github.com/akretion/carrier-delivery-colipostefr.git J'ai copié ensuite les deux répertoires dans mon répertoire addons. J'ai relancé un "Uddate module list" sur une base vierge mais j'ai toujours la même erreur.

bealdav commented 9 years ago

il ne fo pas faire de copier/coller: jamais, absolument jamais. Les sources doivent rester dans leur dossier initial. juste modifier le fichier de config pour le faire pointer également sur le dossier cloné: on peut mettre 50000 chemins dans le addons-path Avez-vous également inclues les dépendances sur la branche: git@github.com:OCA/carrier-delivery.git, toujours sans copier/coller

bwilmus commented 9 years ago

J'ai donc effacé les deux répertoires. J'ai fait un clone de la branche dans un nouveau répertoire. J'ai fait un clone sur OCA/carrier-delivery.git J'ai ajouté ce nouveau répertoire dans mon addons-path. J'ai redémarré le service d'odoo-server. J'ai créé une base de données vierge et j'ai rafraîchis la liste des modules.

Je peux maintenant installer delivery_carrier_label_colissimo Ce module a besoin de plusieurs dépendances:

Problème: file_repository n'existe que pour la version 7 d'Odoo.

J'ai fait une tentative avec cette version mais j'arrive au message d'erreur suivant:

Traceback (most recent call last): File "/opt/odoo/odoo-server/openerp/http.py", line 526, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/opt/odoo/odoo-server/openerp/http.py", line 563, in dispatch result = self._call_function(_self.params) File "/opt/odoo/odoo-server/openerp/http.py", line 303, in _call_function return checked_call(self.db, args, _kwargs) File "/opt/odoo/odoo-server/openerp/service/model.py", line 113, in wrapper return f(dbname, _args, _kwargs) File "/opt/odoo/odoo-server/openerp/http.py", line 300, in checked_call return self.endpoint(_a, _kw) File "/opt/odoo/odoo-server/openerp/http.py", line 792, in call return self.method(_args, _kw) File "/opt/odoo/odoo-server/openerp/http.py", line 396, in response_wrap response = f(_args, _kw) File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 953, in call_button action = self._call_kw(model, method, args, {}) File "/opt/odoo/odoo-server/addons/web/controllers/main.py", line 941, in _call_kw return getattr(request.registry.get(model), method)(request.cr, request.uid, _args, _kwargs) File "/opt/odoo/odoo-server/openerp/api.py", line 241, in wrapper return old_api(self, _args, _kwargs) File "/opt/odoo/odoo-server/openerp/addons/base/module/module.py", line 450, in button_immediate_install return self._button_immediate_function(cr, uid, ids, self.button_install, context=context) File "/opt/odoo/odoo-server/openerp/api.py", line 241, in wrapper return old_api(self, _args, _kwargs) File "/opt/odoo/odoo-server/openerp/addons/base/module/module.py", line 498, in _button_immediate_function registry = openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True) File "/opt/odoo/odoo-server/openerp/modules/registry.py", line 366, in new openerp.modules.load_modules(registry._db, force_demo, status, update_module) File "/opt/odoo/odoo-server/openerp/modules/loading.py", line 355, in load_modules loaded_modules, update_module) File "/opt/odoo/odoo-server/openerp/modules/loading.py", line 255, in load_marked_modules loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks) File "/opt/odoo/odoo-server/openerp/modules/loading.py", line 143, in load_module_graph load_openerp_module(package.name) File "/opt/odoo/odoo-server/openerp/modules/module.py", line 314, in load_openerp_module import('openerp.addons.' + module_name) File "/opt/odoo/odoo-server/openerp/modules/module.py", line 79, in load_module mod = imp.load_module('openerp.addons.' + module_part, f, path, descr) File "/opt/odoo/custom/addons/file_repository/init.py", line 24, in import file_repository File "/opt/odoo/custom/addons/file_repository/filerepository.py", line 24, in from tools.translate import ImportError: No module named tools.translate

bealdav commented 9 years ago

https://github.com/akretion/file-exchange/tree/8-tmp C dur le lundi matin ? Mais je vois que ça progresse bien, on est + loin Pour l'instant on a qu'un projet v8 avec Coliposte vous pouvez essayer tout ça en v7 si vous voulez, mais ne mélanger odoo v8 et autres modules en v7 (et inversement)

intrastat est sur launchpad

les autres modules sont dans OCA

bwilmus commented 9 years ago

Oui, surtout en démarrant la semaine avec ce genre de problème.

addons_path = /opt/odoo/odoo-server/addons,/opt/odoo/custom/addons => Situation de départ addons_path = /opt/odoo/odoo-server/addons,/opt/odoo/custom/addons,/opt/odoo/custom/carrier-delivery => Ok addons_path = /opt/odoo/odoo-server/addons,/opt/odoo/custom/addons,/opt/odoo/custom/carrier-delivery,/opt/odoo/custom/file-exchange => Ok addons_path = /opt/odoo/odoo-server/addons,/opt/odoo/custom/addons,/opt/odoo/custom/carrier-delivery,/opt/odoo/custom/carrier-delivery-colipostefr => Plus d'accès aux CSS de Odoo

Etrange non?

Mais, comme vous dites, on avance: "Base module for carrier labels" est installé

bealdav commented 9 years ago

il ne fo pas mettre custom folder ds odoo-server car cela revient à mettre un repo git dans un autre => bad practice css: ça n'a rien avoir avec ces modules mais plutot effet de bord des différents essais. C'est comme au tennis: utiliser régulièrement des bases neuves pour les essais pour éviter les effets de bord.

Concernant l'erreur 'ImportError: No module named tools.translate': est-ce que le fichier existe à l'endroit spécifié ? si non, le code source ne correspond à la l'intégralité de la version requise.

bwilmus commented 9 years ago

Je n'ai pas de custom folder dans le réperoire d'installation d'odoo, j'ai

Dans le folder custom j'ai:

Pour les 3 premiers répertoires pas de problèmes. Si je les ajoute dans addons_path il n'y a pas de soucis. Par contre dès que j'ajoute carrier-delivery-colipostefr, j'ai ce soucis. J'ai essayé sur une nouvelle base, ça ne change rien. Ce problème est même visible dans l'interface de gestion des bases si /opt/odoo/custom/carrier-delivery-colipostefr est dans la liste de addons_path

bealdav commented 9 years ago

y a-t-il les droits correct sur le dossier colisposte ? l'utilisateur du serveur odoo a-t-il les droits de lecture correct. pour info en dev les intégrateurs install odoo sur /home/moi/mon_odoo_folder pour éviter tout problème entre user justement

bwilmus commented 9 years ago

root@odoo:/opt/odoo/custom# ls -l total 16 drwxr-xr-x 13 odoo odoo 4096 Mar 16 11:42 addons drwxr-xr-x 6 odoo odoo 4096 Mar 16 10:15 carrier-delivery drwxr-xr-x 5 odoo odoo 4096 Mar 16 10:16 carrier-delivery-colipostefr drwxr-xr-x 11 odoo odoo 4096 Mar 16 11:41 file-exchange

Le user odoo est owner de tous les répertoires. Je précise que carrier-delivery et file-exchange se sont installés sans problème en suivant vos conseils.

bealdav commented 9 years ago

ben désolé, de notre côté ça marche bien et c'est en production chez plusieurs clients On va travailler sur la simplification de l'installation qui c vrai n'est pas simple. envoyer moi un mail sinon