尝试运行ipython3时catch_config_error

时间:2018-01-14 10:09:32

标签: pip ipython

我尝试运行ipython3时遇到以下错误。

  

catch_config_error()缺少1个必需的位置参数:' app'

我首先在我的 Mac python36)上获得了它。由于我的系统有各种自定义,我在 Linux 系统( Centos 7.4 )上再次尝试了。我使用 pip3 安装 ipython ,一切似乎都干净利落地安装。 (在同一系统上,如果我使用python2执行此操作,它似乎可以工作。

完整的错误日志:

[scott] ipython3
Traceback (most recent call last):
  File "/usr/bin/ipython3", line 7, in <module>
    from IPython import start_ipython
  File "/usr/lib/python3.4/site-packages/IPython/__init__.py", line 54, in <module>
    from .core.application import Application
  File "/usr/lib/python3.4/site-packages/IPython/core/application.py", line 23, in <module>
    from traitlets.config.application import Application, catch_config_error
  File "/usr/lib/python3.4/site-packages/traitlets/config/__init__.py", line 6, in <module>
    from .application import *
  File "/usr/lib/python3.4/site-packages/traitlets/config/application.py", line 120, in <module>
    class Application(SingletonConfigurable):
  File "/usr/lib/python3.4/site-packages/traitlets/config/application.py", line 291, in Application
    def initialize(self, argv=None):
TypeError: catch_config_error() missing 1 required positional argument: 'app'

2 个答案:

答案 0 :(得分:4)

这种情况正在发生,因为traitlets依赖于一个叫做“装饰者”的包裹。刚刚从4.1.2更新到4.2.0并破坏了它的向后兼容性。

如果您正在使用需求文件或pip,请在安装IPython之前安装decorator == 4.1.2。

答案 1 :(得分:0)

我在Ubuntu 16.04中尝试过。 我也有同样的问题(Python 3.6) 我今天再试一次。 width:100% 然后,新安装了装饰器4.2.1并解决了问题。