ipython3在python3.7的终端中不起作用

pic*_*olo 7 python ipython jupyter-notebook python-3.7

我最近从Python3.6升级到Python3.7。由于我已经升级,因此当我ipython3在终端输入时,我得到一个错误:

~$ ipython3
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3/dist-packages/IPython/__init__.py", line 48, in <module>
    from .core.application import Application
  File "/usr/lib/python3/dist-packages/IPython/core/application.py", line 25, in <module>
    from IPython.core import release, crashhandler
  File "/usr/lib/python3/dist-packages/IPython/core/crashhandler.py", line 28, in <module>
    from IPython.core import ultratb
  File "/usr/lib/python3/dist-packages/IPython/core/ultratb.py", line 124, in <module>
    from IPython.utils import path as util_path
  File "/usr/lib/python3/dist-packages/IPython/utils/path.py", line 18, in <module>
    from IPython.utils.process import system
  File "/usr/lib/python3/dist-packages/IPython/utils/process.py", line 19, in <module>
    from ._process_posix import system, getoutput, arg_split, check_pid
  File "/usr/lib/python3/dist-packages/IPython/utils/_process_posix.py", line 24, in <module>
    import pexpect
  File "/usr/lib/python3/dist-packages/pexpect/__init__.py", line 75, in <module>
    from .pty_spawn import spawn, spawnu
  File "/usr/lib/python3/dist-packages/pexpect/pty_spawn.py", line 14, in <module>
    from .spawnbase import SpawnBase
  File "/usr/lib/python3/dist-packages/pexpect/spawnbase.py", line 224
    def expect(self, pattern, timeout=-1, searchwindowsize=-1, async=False):
                                                                   ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

此外,我注意到我的jupyter-notebook现在似乎也不适用于python3内核(我收到了内核死错误)。

笔记:

  • 当我将它们与Python2配合使用时,ipython和jupyter-notebook可以正常工作。
  • 我正在使用Ubuntu 18.04(Bionic Beaver),尽管我认为这无关紧要

Oni*_*iel 24

async是 python3.7 中的保留关键字,旧版本的 pexpectasync用作变量。解决方案是升级 pexpect。

对我来说,它与 apt-get 安装的 python3 冲突,所以我必须先卸载它/它们:

sudo apt-get remove python-pexpect python3-pexpect

进而

sudo pip3.7 install --upgrade pexpect


ken*_*ait 6

更新请更新您安装的软件包。此错误pexpect已报告并已关闭问题


在Python 3.7,asyncawait现在是保留关键字。这就是破坏某些已安装软件包的原因。

如果您不需要 3.7 中的新功能,请回滚到 3.6 并等待您的包更新以支持 3.7 中的新语法

Python 3.7 中的新功能