python - 导入变形金刚包抛出 value_error

标签 python anaconda jupyter huggingface-transformers

我已经使用命令“conda install -c conda-forge transformers”从 Anaconda 管理员控制台在我的 Jupyter Notebook 中成功安装了 transformers 包。

但是,当我尝试使用“import transformers”命令在我的 Jupyter notebook 中加载 transformers 包时,出现错误,“ValueError: got_ver is None” .

我不确定如何解决这个问题。感谢任何输入。

下面是完整的错误:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-58-279c49635b32> in <module>
----> 1 import transformers

C:\ProgramData\Anaconda3\lib\site-packages\transformers\__init__.py in <module>
     41 
     42 # Check the dependencies satisfy the minimal versions required.
---> 43 from . import dependency_versions_check
     44 from .file_utils import (
     45     _LazyModule,

C:\ProgramData\Anaconda3\lib\site-packages\transformers\dependency_versions_check.py in <module>
     39                 continue  # not required, check version only if installed
     40 
---> 41         require_version_core(deps[pkg])
     42     else:
     43         raise ValueError(f"can't find {pkg} in {deps.keys()}, check dependency_versions_table.py")

C:\ProgramData\Anaconda3\lib\site-packages\transformers\utils\versions.py in require_version_core(requirement)
    118     """require_version wrapper which emits a core-specific hint on failure"""
    119     hint = "Try: pip install transformers -U or pip install -e '.[dev]' if you're working with git master"
--> 120     return require_version(requirement, hint)

C:\ProgramData\Anaconda3\lib\site-packages\transformers\utils\versions.py in require_version(requirement, hint)
    112     if want_ver is not None:
    113         for op, want_ver in wanted.items():
--> 114             _compare_versions(op, got_ver, want_ver, requirement, pkg, hint)
    115 
    116 

C:\ProgramData\Anaconda3\lib\site-packages\transformers\utils\versions.py in _compare_versions(op, got_ver, want_ver, requirement, pkg, hint)
     43 def _compare_versions(op, got_ver, want_ver, requirement, pkg, hint):
     44     if got_ver is None:
---> 45         raise ValueError("got_ver is None")
     46     if want_ver is None:
     47         raise ValueError("want_ver is None")

ValueError: got_ver is None

最佳答案

我有类似的错误,花了一整天的时间来修复。

这是由于导入时转换器的某些预期包的版本不匹配造成的。您可以在本地磁盘的 transformers 文件夹中查看具体的包详细信息。 2 个 python 文件显示在位置 ..Anaconda3\Lib\site-packages\transformers 中。这些是 dependency_versions_table.py 和 dependency_versions_check.py

依赖表给出了转换器及其版本所需的所有包的详细信息。

dependency version table

依赖版本检查文件给出了检查具体版本的代码 dependency version check code

您可以查看这些版本。对我来说,下面是输出

from importlib_metadata import version
print(version('tqdm')) #4.64.0
print(version('regex'))  # 2022.3.15
print(version('sacremoses'))  # 0.0.46
print(version('packaging'))  # 21.0'
print(version('filelock')) # 3.6.0
print(version('numpy'))  # 'none'
print(version('tokenizers'))  #0.12.1 

我的代码最初为 numpy 返回“无”。然后我使用 2 个代码检查了 numpy 版本

print(numpy.__version__)
pip show numpy

两者都给出了 2 个不同的版本。然后我使用下面的代码强制安装一个版本

!python -m pip install numpy==1.19.5 --user

之后我再次检查了版本,发现 numpy 返回了 1.19.5 版本。然后重启内核,导入Transformers

这解决了变压器导入的问题

不是:如果 importlib_metadata 不起作用,也尝试使用 importlib.metadata

关于python - 导入变形金刚包抛出 value_error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68997701/

相关文章:

python - 带有 float 的 Numpy bincount()

python - 如何修改 Tkinter 中的默认字体?

python - Linux 中的 OpenCV 3.1.0 imshow 不适用于网络摄像头 (Python)

ubuntu - jupyter notebook 打不开 : Access Denied

python - 即使安装了 Pandas 也无法工作

python - 在 Jupyter 笔记本中使用 PySpark 时如何包含外部 Spark 库

python - 当我在 selenium 中使用 Click() 时,页面中的动态元素(表)不会更新,因此我无法检索新数据

python - 计算相机内在参数时获取复数

python - Pandas 仅从 Cell 返回值

ipython - IPython Jupyter:上传文件夹