python - 软件包升级后 Jupyter Notebook 不工作
问题描述
我创建了一个新的虚拟环境并通过运行安装了 jupyter notebook pipenv install jupyter
。我现在无法运行jupyter notebook
:
Traceback (most recent call last):
File "c:\users\user\.virtualenvs\jupyter_project-rx9grp37\lib\site-packages\jsonschema\__init__.py", line 31, in <module>
from importlib import metadata
ImportError: cannot import name 'metadata' from 'importlib' (C:\anaconda\Lib\importlib\__init__.py)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\anaconda\Lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\anaconda\Lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\user\.virtualenvs\jupyter_project-RX9gRp37\Scripts\jupyter-notebook.EXE\__main__.py", line 4, in <module>
File "c:\users\user\.virtualenvs\jupyter_project-rx9grp37\lib\site-packages\notebook\notebookapp.py", line 80, in <module>
from .services.contents.manager import ContentsManager
File "c:\users\user\.virtualenvs\jupyter_project-rx9grp37\lib\site-packages\notebook\services\contents\manager.py", line 17, in <module>
from nbformat import sign, validate as validate_nb, ValidationError
File "c:\users\user\.virtualenvs\jupyter_project-rx9grp37\lib\site-packages\nbformat\__init__.py", line 33, in <module>
from .validator import validate, ValidationError
File "c:\users\user\.virtualenvs\jupyter_project-rx9grp37\lib\site-packages\nbformat\validator.py", line 12, in <module>
from jsonschema import ValidationError
File "c:\users\user\.virtualenvs\jupyter_project-rx9grp37\lib\site-packages\jsonschema\__init__.py", line 33, in <module>
import importlib_metadata as metadata
File "c:\users\user\.virtualenvs\jupyter_project-rx9grp37\lib\site-packages\importlib_metadata\__init__.py", line 547, in <module>
__version__ = version(__name__)
File "c:\users\user\.virtualenvs\jupyter_project-rx9grp37\lib\site-packages\importlib_metadata\__init__.py", line 509, in version
return distribution(distribution_name).version
File "c:\users\user\.virtualenvs\jupyter_project-rx9grp37\lib\site-packages\importlib_metadata\__init__.py", line 482, in distribution
return Distribution.from_name(distribution_name)
File "c:\users\user\.virtualenvs\jupyter_project-rx9grp37\lib\site-packages\importlib_metadata\__init__.py", line 183, in from_name
dist = next(dists, None)
File "c:\users\user\.virtualenvs\jupyter_project-rx9grp37\lib\site-packages\importlib_metadata\__init__.py", line 452, in <genexpr>
return (item for item in root.iterdir()
File "C:\anaconda\Lib\pathlib.py", line 1090, in iterdir
for name in self._accessor.listdir(self):
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\\Users\\user\\Documents\\Python\\jupyter_project\\ '
我正在运行 python 3.7。
该问题似乎是由 jsonschema 工作方式的最近变化引起的。在 3.0.2 版本中,它似乎按预期工作。
改变的是这个(jsonschema/__init__.py
):
前:
from pkg_resources import get_distribution
__version__ = get_distribution(__name__).version
后:
try:
from importlib import metadata
except ImportError: # for Python<3.8
import importlib_metadata as metadata
__version__ = metadata.version("jsonschema")
除了降级还有其他方法可以解决这个问题jsonschema==3.0.2
吗?
谢谢
解决方案
在您的环境中升级您的jsonschema
版本
在 conda 环境中
conda upgrade jsonschema
在 pip 环境中
pip install --upgrade jsonschema
这对我有用!
推荐阅读
- android - 未找到 node_modules\chromedriver\bin\chromedriver'。安装了吗?
- c - 为什么 C 编译器在对负值使用位移时不会发出警告?
- python - 优化回归问题中的相对误差
- android - 电容器/CMOTION/ionic-keycloak-auth CustomTabsIntent 未找到
- css - 使用 Bucket.io 的 ID 和类将 CSS 添加到嵌入按钮
- python - 从Python中的快捷方式(.lnk)文件中提取图标?
- reactjs - 在构建期间将动态下拉转换为静态 - React
- react-native - 试图从同一页面中的多个 api React native 获取结果
- google-smart-home - 是否会以某种频率自动触发 SYNC 请求?
- php - PHP 未获取表行数据,警告:mysqli_fetch_row() 期望参数 1 为 mysqli_result