1

由于某种原因,我无法在 OpenERP 6.1.2 中安装一些额外的模块。我正在尝试安装 Aeroo Reporting 和 Pexego OpenOffice Report。我已经安装了 genshi、relatorio、lxsl、earoolib,但这并不影响下面显示的错误消息。在其他地方我读过这个错误是由于配置错误。在阅读了 OpenERP 最新的“如何安装”指南之后,我再次重新安装了 OpenERP(6.1 All-in-One)(这个过程很简单,没有找到任何线索)。

我还重新安装了 Python,看看这是否导致了问题,但事实并非如此。我很困惑,因为我尝试安装的所有额外模块都会发生这种情况。原因一定是递归导入,但我不知道在哪里或解决什么来防止这种递归导入。

OpenERP 服务器运行在 Windows 7 - 64 位,使用 Python 2.7.3 32 位。我已经仔细检查以确保使用的所有 Python 都是 32 位的。

有人有什么想法吗?非常感谢您的帮助!非常感谢您的考虑。

弗莱普

STACK TRACE:

Client Traceback (most recent call last):
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\openerp\addons\web\common\http.py", line 180, in dispatch
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\openerp\addons\web\controllers\main.py", line 1052, in call_button
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\openerp\addons\web\controllers\main.py", line 996, in call_common
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\openerp\addons\web\controllers\main.py", line 1010, in _call_kw
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\openerp\addons\web\common\openerplib\main.py", line 250, in proxy
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\openerp\addons\web\common\openerplib\main.py", line 117, in proxy
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\openerp\addons\web\common\http.py", line 608, in send


Server Traceback (most recent call last):
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\openerp\addons\web\common\http.py", line 593, in send
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\.\openerp\netsvc.py", line 360, in dispatch_rpc
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\.\openerp\service\web_services.py", line 586, in dispatch
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\.\openerp\osv\osv.py", line 167, in execute_kw
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\.\openerp\osv\osv.py", line 121, in wrapper
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\.\openerp\osv\osv.py", line 176, in execute
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\.\openerp\osv\osv.py", line 164, in execute_cr
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\openerp\addons\base\module\wizard\base_module_upgrade.py", line 101, in upgrade_module
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\.\openerp\pooler.py", line 39, in restart_pool
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\.\openerp\modules\registry.py", line 202, in new
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\.\openerp\modules\loading.py", line 338, in load_modules
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\.\openerp\modules\loading.py", line 253, in load_marked_modules
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\.\openerp\modules\loading.py", line 165, in load_module_graph
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\.\openerp\modules\module.py", line 409, in load_openerp_module
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\.\openerp\modules\module.py", line 139, in load_module
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\openerp\addons\report_aeroo\__init__.py", line 32, in <module>
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\.\openerp\modules\module.py", line 139, in load_module
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\openerp\addons\aeroolib\__init__.py", line 14, in <module>
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\.\openerp\modules\module.py", line 139, in load_module
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\openerp\addons\aeroolib\__init__.py", line 14, in <module>
  233323\Server\server\.\openerp\modules\module.py", line 139, in load_module
 **<<repeat the above 6 lines 40 times>>**
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\.\openerp\modules\module.py", line 99, in find_module
  File "C:\Program Files (x86)\OpenERP 6.1-20120813-233323\Server\server\.\openerp\modules\module.py", line 175, in get_module_path
  File "ntpath.pyo", line 73, in join
  File "ntpath.pyo", line 57, in isabs
  File "ntpath.pyo", line 125, in splitdrive
RuntimeError: maximum recursion depth exceeded in cmp

aeroolib__init__.py :(此目录的位置:openerp/addons/aeroolib)

line 14:    from aeroolib.reporting import MIMETemplateLoader, ReportRepository, Report
line 15:    import plugins

            __version__ = '1.0.0 RC4'

modules/module.py :(此目录的位置:openerp/modules/module.py)

         def load_module(self, module_name):

             module_parts = module_name.split('.')
             if len(module_parts) == 3 and module_name.startswith('openerp.addons.'):
                 module_part = module_parts[2]
                 if module_name in sys.modules:
                     return sys.modules[module_name]

             if len(module_parts) == 1:
                 module_part = module_parts[0]
                 if module_part in sys.modules:
                     return sys.modules[module_part]

             try:
                 # Check if the bare module name shadows another module.
                 f, path, descr = imp.find_module(module_part)
                 is_shadowing = True
             except ImportError, e:
                 # Using `import <module_name>` instead of
                 # `import openerp.addons.<module_name>` is ugly but not harmful
                 # and kept for backward compatibility.
                 is_shadowing = False

             # Note: we don't support circular import.
**line 139:    f, path, descr = imp.find_module(module_part, ad_paths)**
             mod = imp.load_module('openerp.addons.' + module_part, f, path, descr)
             if not is_shadowing:
                 sys.modules[module_part] = mod
                 for k in sys.modules.keys():
                     if k.startswith('openerp.addons.' + module_part):
                         sys.modules[k[len('openerp.addons.'):]] = sys.modules[k]
             sys.modules['openerp.addons.' + module_part] = mod
             return mod

模块/module.py:第 179 行

     def get_module_path(module, downloaded=False, display_warning=True):
         """Return the path of the given module.

         Search the addons paths and return the first path where the given
         module is found. If downloaded is True, return the default addons
         path if nothing else is found.

         """
         initialize_sys_path()
         for adp in ad_paths:
             if os.path.exists(opj(adp, module)) or os.path.exists(opj(adp, '%s.zip' % module)):
                 return opj(adp, module)

         if downloaded:
ln 179:      return opj(_ad, module)
         if display_warning:
             _logger.warning('module %s: module not found', module)
         return False
4

1 回答 1

1

我唯一能想到的是,OpenERP 的aeroolib模块不应该在 Python 路径上。我认为当 Pythonaeroolib看到这一行时,它会加载 OpenERP 模块而不是 Aeroolib 库模块:

from aeroolib.reporting import MIMETemplateLoader, ReportRepository, Report

我建议你检查你的 Python 路径,看看它是否包含OpenERP 6.1-20120813-233323\Server\server\openerp\addons.

于 2012-08-27T19:32:16.993 回答