解决Ubantu19.04环境下python3.7安装ipython3启动报错

在Ubantu 19.04环境中,安装ipython3后启动遇到错误,原因是prompt_toolkit版本过高。通过降级prompt_toolkit到低版本解决了该问题,但此操作导致pgcli无法使用。为避免类似冲突,建议使用虚拟环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:

安装ipython3的过程后,启动ipython3发现启动报错!具体问题如下

sudo apt install ipython3
***@ubuntu19-04-***:~$ ipython3
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3/dist-packages/IPython/__init__.py", line 49, in <module>
    from .terminal.embed import embed
  File "/usr/lib/python3/dist-packages/IPython/terminal/embed.py", line 18, in <module>
    from IPython.terminal.interactiveshell import TerminalInteractiveShell
  File "/usr/lib/python3/dist-packages/IPython/terminal/interactiveshell.py", line 20, in <module>
    from prompt_toolkit.shortcuts import create_prompt_application, create_eventloop, create_prompt_layout, create_output
ImportError: cannot import name 'create_prompt_application' from 'prompt_toolkit.shortcuts' (/usr/local/lib/python3.7/dist-packages/prompt_toolkit/shortcuts/__init__.py)

解决方法:经过查找资料发现是ipython依赖的核心库prompt_toolkit版本过高引起的,
可能是prompt_toolkit高版本移除的旧方法依然被ipython引用,安装低版本prompt_toolkit后问题解决!

#重新安装低版本:prompt_toolkit==2.0.9  ===>prompt_toolkit==1.0.15
sudo pip3 uninstall prompt_toolkit  #卸载
sudo pip3 install prompt_toolkit==1.0.15 #低版本安装
***@ubuntu19-04-***:~$ ipython3
Python 3.7.3 (default, Apr  3 2019, 05:39:12) 
Type "copyright", "credits" or "license" for more information.

IPython 5.8.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: 1+2
Out[1]: 3

In [2]: 

=================================
问题来了,发现pgcli不能用了,真的服,又把版本升级了回去,碰到这种情况,大家还是用虚拟环境吧!

问题解决!
感谢:罗罗诺亚路飞-的博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苗清水

如有帮助,求打赏哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值