我尝试运行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'
答案 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并解决了问题。