尝试在pydev中运行交互式python控制台时,我收到以下错误代码
我无法弄清楚出了什么问题。当我谷歌关于
控制台已退出,值为:1
部分错误,没有任何用处。
更奇怪的是,这件事只出现在我的一个python工作区项目中。只有一个。所有其他事情都与其他事情相同。
我想在问题中添加一张图片,但这需要我超过10个声誉.......
初始化控制台时出错。连接到控制台时出现意外错误。 无法从pydevconsole中重新获得合适的Hello响应。最后的消息 已收到:控制台已退出,值为:1等待 答案。
答案 0 :(得分:7)
pip uninstall traitlets
只为我工作。
答案 1 :(得分:1)
似乎(在我的系统上; YMMV)是acknowledged bug,其中pydev未更新以匹配从ipython版本4到版本5的API更改。
要么
pip uninstall ipython
pip install ipython==4.2.0
(在this answer中暗示),或将以下补丁应用于pydev_ipython_console_011.py
。
163c163
< self.has_readline)
---
> )
171d170
< use_readline=self.has_readline,
183d181
< use_readline=self.has_readline,
194d191
< use_readline=self.has_readline,
239,245d235
<
< # Only configure readline if we truly are using readline. IPython can
< # do tab-completion over the network, in GUIs, etc, where readline
< # itself may be absent
< if self.has_readline:
< self.set_readline_completer()
<
卸载traitlets允许我在eclipse中打开pydev控制台,但是在命令行中打破了ipython,所以我重新安装了它。但是,由于错误消息提到某些进程因退出代码1而死亡,因此我认为可能存在值得看的抑制回溯。所以,我运行了上面提到的命令行
/usr/bin/python2.7 -u /home/tsbertalan/eclipse/cpp-mars/eclipse/../../../.p2/pool/plugins/org.python.pydev_4.5.4.201601292234/pysrc/pydevconsole.py 34462 35898 34462 35898
(这显然取决于我的具体安装),并以
结尾进行追溯File "/home/tsbertalan/.p2/pool/plugins/org.python.pydev_4.5.4.201601292234/pysrc/_pydev_bundle/pydev_ipython_console_011.py", line 194, in _new_completer_200
use_readline=self.has_readline,
AttributeError: 'PyDevTerminalInteractiveShell' object has no attribute 'has_readline'
当我用Google搜索最后一行时,我被引导到this answer,这是由于ipython v5中的API已更改。所以,这是pydev中的一个错误。然后,我检查了他们的问题跟踪器,发现它是already handled,并且解决方法是删除有问题的旧API详细信息(请参阅上面的补丁)。
不幸的是,补丁方法仅适用于pydev 4.5.4。当我使用Eclipse的“检查更新”功能进行升级时(希望5.1.3可用 - 只有5.1.2),该补丁通过ipython解决了交互式控制台启动时的即时失败,但使用了{{ 1}}打印docstrings而不是打印某种类似字典的对象。所以,我现在使用pydev 5.1.2和ipython 4.2.0。也许一旦我得到5.1.3,我会尝试更新ipython。