为什么我会得到这些回溯?

问题描述

我目前正在按照 documentation 中的快速入门尝试 parlai。我已经安装了 parlai,目前正在“查看任务并训练模型”,但是当我运行代码 parlai display_data --task babi:task10k:1 时,我得到了这些回溯。

    Traceback (most recent call last):
  File "C:\Users\Dean\anaconda3\lib\site-packages\pkg_resources\__init__.py",line 584,in _build_master
    ws.require(__requires__)
  File "C:\Users\Dean\anaconda3\lib\site-packages\pkg_resources\__init__.py",line 901,in require
    needed = self.resolve(parse_requirements(requirements))
  File "C:\Users\Dean\anaconda3\lib\site-packages\pkg_resources\__init__.py",line 792,in resolve
    raise VersionConflict(dist,req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (urllib3 1.25.8 (c:\users\dean\anaconda3\lib\site-packages),Requirement.parse('urllib3~=1.25.9'),{'parlai'})

During handling of the above exception,another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Dean\anaconda3\Scripts\parlai-script.py",line 6,in <module>
    from pkg_resources import load_entry_point
  File "C:\Users\Dean\anaconda3\lib\site-packages\pkg_resources\__init__.py",line 3253,in <module>
    @_call_aside
  File "C:\Users\Dean\anaconda3\lib\site-packages\pkg_resources\__init__.py",line 3237,in _call_aside
    f(*args,**kwargs)
  File "C:\Users\Dean\anaconda3\lib\site-packages\pkg_resources\__init__.py",line 3266,in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "C:\Users\Dean\anaconda3\lib\site-packages\pkg_resources\__init__.py",line 586,in _build_master
    return cls._build_from_requirements(__requires__)
  File "C:\Users\Dean\anaconda3\lib\site-packages\pkg_resources\__init__.py",line 599,in _build_from_requirements
    dists = ws.resolve(reqs,Environment())
  File "C:\Users\Dean\anaconda3\lib\site-packages\pkg_resources\__init__.py",req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (Sphinx 2.4.0 (c:\users\dean\anaconda3\lib\site-packages),Requirement.parse('Sphinx>=3.0'),{'sphinx-autodoc-typehints'})

据我所知,它通常在您收到错误显示这一点,但我看不到它在哪里说有错误。我注意到在第一个回溯中引发了 VersionConflict。这是否意味着我安装了错误parlai 版本?

任何形式的帮助将不胜感激。 谢谢。

解决方法

是的,这些回溯表明存在错误。这里的错误类型是 pkg_resources.ContextualVersionConflict,这有点令人困惑,因为它们的名称中没有 Error。对于这些回溯块,最后一行是错误,倒数第二行是引发错误的方式。

pkg_resources.ContextualVersionConflict: (urllib3 1.25.8 (c:\users\dean\anaconda3\lib\site-packages),Requirement.parse('urllib3~=1.25.9'),{'parlai'})

显示你的 urllib3 在 1.25.8,但它需要在 1.25.9 和 1.26 之间。

pkg_resources.ContextualVersionConflict: (Sphinx 2.4.0 (c:\users\dean\anaconda3\lib\site-packages),Requirement.parse('Sphinx>=3.0'),{'sphinx-autodoc-typehints'})

表示您的 sphinx 为 2.4.0,但应大于或等于 3.0。