我最近从Python3.6升级到Python3.7。由于我已经升级,因此在终端中输入i
时出现错误:
ipython3
此外,我已经注意到,我的jupyter-notebook现在似乎也不适用于python3内核(我得到了内核死错误)。
注意:
答案 0 :(得分:3)
更新,请更新已安装的软件包。
已报告pexpect
的错误,并已issue
在Python 3.7中,async
和await
现在是保留关键字。这就是破坏您已安装的某些软件包的原因。
如果您不需要3.7中的新功能,请回滚至3.6,然后等待软件包更新以支持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)
async
是Python 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