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

时间:2019-01-27 16:49:45

标签: python jupyter-notebook ipython python-3.7

我最近从Python3.6升级到Python3.7。由于我已经升级,因此在终端中输入i时出现错误:

ipython3

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

注意:

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

6 个答案:

答案 0 :(得分:3)

更新,请更新已安装的软件包。 已报告pexpect的错误,并已issue

关闭

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

如果您不需要3.7中的新功能,请回滚至3.6,然后等待软件包更新以支持3.7中的新语法。

What's New in Python 3.7

答案 1 :(得分:1)

这似乎是与async在Python 3.7中成为关键字有关的问题

根据给定的here,更新pipenv可能是解决方案

答案 2 :(得分:1)

我只是通过手动升级pexpect解决了这个问题。

https://github.com/pexpect/pexpect/releases/tag/4.6下载pexpect4.6源代码

提取源代码,进入文件夹并通过以下方式安装pexpect:

sudo python3.7 setup.py install

答案 3 :(得分:0)

asyncPython 3.7的保留字

如果愿意,可以自己编辑软件包。 这是一个可以执行此操作的shell命令:

sed "s/async/_async/g" "/usr/lib/python3/dist-packages/pexpect/spawnbase.py" > tmp.txt && cat tmp.txt > "/usr/lib/python3/dist-packages/pexpect/spawnbase.py" && rm tmp.txt

否则,您可能希望在等待更新时使用Python 3.6。

答案 4 :(得分:0)

正如其他人所指出的那样,使用pexpect软件包的当前版本应该可以解决此问题。就我而言,我通过apt安装的python3-pexpect软件包被卡在一个旧版本上,我首先必须将其删除。然后通过pip3安装当前的pexpect软件包可以解决此问题。

答案 5 :(得分:0)

对我来说,它与apt-get安装的python3冲突,因此我必须先将其卸载:

sudo apt-get remove python-pexpect python3-pexpect

然后

sudo pip3.7 install --upgrade pexpect