最新jinja2版本已經到了3.1.2,但是nbconvert引用的應該是老版本,具體代碼報錯如下
Type "help", "copyright", "credits" or "license" for more information.
>>> import nbconvert
Traceback (most recent call last):File "<stdin>", line 1, in <module>File "C:\Users\gw00305123\Anaconda3\lib\site-packages\nbconvert\__init__.py", line 4, in <module>from .exporters import *File "C:\Users\gw00305123\Anaconda3\lib\site-packages\nbconvert\exporters\__init__.py", line 3, in <module>from .html import HTMLExporterFile "C:\Users\gw00305123\Anaconda3\lib\site-packages\nbconvert\exporters\html.py", line 14, in <module>from jinja2 import contextfilter
ImportError: cannot import name 'contextfilter' from 'jinja2' (C:\Users\gw00305123\Anaconda3\lib\site-packages\jinja2\__init__.py)
nubconvert會從jinja2導入一個叫contextfilter的東西,但是新版本已經沒有了,這會導致我導出一個notebook到html時報錯,具體報錯信息如下
10:58:59.463 [error] Export failed [Error: 未安裝 Jupyter 松影at f_.getExportInterpreter (~\.vscode\extensions\ms-toolsai.jupyter-2023.10.1100000000-win32-x64\out\extension.node.js:24:319696)at process.processTicksAndRejections (node:internal/process/task_queues:95:5)at async v_.executeCommand (~\.vscode\extensions\ms-toolsai.jupyter-2023.10.1100000000-win32-x64\out\extension.node.js:24:320876)at async E_.export (~\.vscode\extensions\ms-toolsai.jupyter-2023.10.1100000000-win32-x64\out\extension.node.js:24:325143)at async M_.exportToFormat (~\.vscode\extensions\ms-toolsai.jupyter-2023.10.1100000000-win32-x64\out\extension.node.js:24:330191)at async M_.performNbConvertExport (~\.vscode\extensions\ms-toolsai.jupyter-2023.10.1100000000-win32-x64\out\extension.node.js:24:329960)at async M_.performExport (~\.vscode\extensions\ms-toolsai.jupyter-2023.10.1100000000-win32-x64\out\extension.node.js:24:329635)at async M_.exportImpl (~\.vscode\extensions\ms-toolsai.jupyter-2023.10.1100000000-win32-x64\out\extension.node.js:24:329263)at async M_.export (~\.vscode\extensions\ms-toolsai.jupyter-2023.10.1100000000-win32-x64\out\extension.node.js:24:329019)at async $C.export (~\.vscode\extensions\ms-toolsai.jupyter-2023.10.1100000000-win32-x64\out\extension.node.js:24:470042)at async d.h (~\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:141:140086)]
從報錯信息中并不能看出什么問題,但是從報錯信息的上一行,有個導入nbconvert的語句,于是推測跟nbconvert有關,于是有了開頭的測試語句,發現是jinja2的版本問題,于是降了一個版本,裝了3.0.3,解決!!!!