Python unittest2错误:TypeError:_recursive_repr()正好接受1个参数(给定0)

Python unittest2错误:TypeError:_recursive_repr()正好接受1个参数(给定0),python,openerp,unittest2,Python,Openerp,Unittest2,我正在尝试安装openerp,它需要unittest2。我不得不使用pip手动安装它(我还尝试了easy_install),这似乎是可行的,但任何涉及它的东西(包括unit2)都会产生以下回溯: Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/2.7/bin/unit2", line 7, in <module> from unittest

我正在尝试安装openerp,它需要unittest2。我不得不使用pip手动安装它(我还尝试了easy_install),这似乎是可行的,但任何涉及它的东西(包括
unit2
)都会产生以下回溯:

    Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/bin/unit2", line 7, in <module>
    from unittest2.__main__ import main_
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/unittest2/__init__.py", line 40, in <module>
    from unittest2.collector import collector
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/unittest2/collector.py", line 3, in <module>
    from unittest2.loader import defaultTestLoader
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/unittest2/loader.py", line 13, in <module>
    from unittest2 import case, suite, util
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/unittest2/case.py", line 18, in <module>
    from unittest2 import result
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/unittest2/result.py", line 10, in <module>
    from unittest2.compatibility import wraps
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/unittest2/compatibility.py", line 143, in <module>
    class ChainMap(collections.MutableMapping):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/unittest2/compatibility.py", line 190, in ChainMap
    @collections._recursive_repr()
TypeError: _recursive_repr() takes exactly 1 argument (0 given)
回溯(最近一次呼叫最后一次):
文件“/Library/Frameworks/Python.framework/Versions/2.7/bin/unit2”,第7行,在
从unittest2.\uuuu main\uuuuu导入main_
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/unittest2/_init__.py”,第40行,在
从unittest2.collector导入收集器
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/unittest2/collector.py”,第3行,在
从unittest2.loader导入defaultTestLoader
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/unittest2/loader.py”,第13行,在
从unittest2导入案例、套件、util
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/unittest2/case.py”,第18行,在
从unittest2导入结果
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/unittest2/result.py”,第10行,在
从unittest2.compatibility导入包装
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/unittest2/compatibility.py”,第143行,在
类链映射(collections.MutableMapping):
ChainMap中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/unittest2/compatibility.py”,第190行
@集合。_recursive_repr()
TypeError:_recursive_repr()正好接受1个参数(给定0个)
尝试启动openerp服务器会产生相同的错误。无论是在这里还是在谷歌领域,似乎都没有提到这个问题


有什么想法吗?

通过“使用pip手动安装”你的意思是你刚刚做了
pip安装unittest2
,或者你克隆了一个repo,cd,然后做了
pip安装。
或类似的事情?总之,这很奇怪。在3.2+中,
collections.\u recursive\u repr
存在(虽然它只是
reprlib.recursive\u repr
,所以我不知道他们为什么不将其与该名称一起使用),但在2.7中它不应该存在。此外,如果它确实存在,则其参数应该是可选的。除非有其他东西是monkeypatching
集合
,我不明白为什么会发生这种情况。你的
网站包中有一个名为
collections.py
的文件或名为
collections
的目录隐藏着stdlib模块吗?我同时安装了
pip unittest2
easy\u install unittest2
,看起来安装得很好(为了它的价值。)我结束了这些尝试,因为来自odoo目录的
sudo python setup.py install
由于上述错误而不断停止,我不太确定还需要尝试什么。显然,安装本身不是问题,而是这一行的效果。_recursive_repr()
有。我对python或collections.py lib不太了解,所以我不知道这里发生了什么。所以我只是试着注释掉有问题的一行(unittest2/compatibility.py的第190行)openerp似乎已完全安装,服务器正在运行。如果由于此“修复”而出现问题,我会通知您。