今天安装了python3.6.1,想再安装notebook,所有模块都正常地安装了。但是在输入“jupyter notebook"想打开notebook时出现错误:
ModuleNotFoundError: No module named 'markupsafe._compat'
网上查找了好多资料,有说回退到python3.5X版本就可以正常使用。可是我在家里的台式机上安装了3.6.0的版本,就可以正常打开。虽然这样可能解决问题,但不是问题出现的真正的原因,所以我想尝试其他办法。
首先尝试回退到3.6.0版本,发现还是无法打开notebook。有点奇怪了。在看到一篇博客:http://blog.csdn.net/candcplusplus/article/details/72793591,里面描述的问题是无法导入jinja2的问题,不过报错和我遇到的问题是一样的。于是我仔细看了这篇博客,里面说是库 markupsafe的问题,于是我卸载了这个库,再重新安装,还是不行。再往下看,说可能是编码的问题,更改python36\lib\site-packages\pip\compat\__init__.py约75行中的编码格式可能解决问题。我依此更改后,还是没用。按照该作者的做法,安装了Git Bash,在Git Bash中卸载重新安装了markupsafe库,再运行notebook,成功运行!
解决办法:
使用Git Bash重新安装markupsafe库
心得:
感觉这个问题确实是编码的问题导致的,终端的字符编码会影响 pip 安装 Python 库。