我有一个使用 python 3.11 安装了 Sentence-Transformers 的虚拟环境。我应该拥有所有依赖项,例如 torch 和 numpy 等。我正在 vs-code jupyter 笔记本中运行,到目前为止它在 Colab 上似乎运行良好。
什么是 numpy.strings?尝试导入时出现此错误:
ModuleNotFoundError Traceback (most recent call last)
Cell In[96], line 1
----> 1 from sentence_transformers import SentenceTransformer
File ~/Desktop/Heeyo/.venv/lib/python3.11/site-packages/sentence_transformers/__init__.py:7
4 import importlib
5 import os
----> 7 from sentence_transformers.cross_encoder.CrossEncoder import CrossEncoder
8 from sentence_transformers.datasets import ParallelSentencesDataset, SentencesDataset
9 from sentence_transformers.LoggingHandler import LoggingHandler
File ~/Desktop/Heeyo/.venv/lib/python3.11/site-packages/sentence_transformers/cross_encoder/__init__.py:1
----> 1 from .CrossEncoder import CrossEncoder
3 __all__ = ["CrossEncoder"]
File ~/Desktop/Heeyo/.venv/lib/python3.11/site-packages/sentence_transformers/cross_encoder/CrossEncoder.py:16
13 from transformers.tokenization_utils_base import BatchEncoding
14 from transformers.utils import PushToHubMixin
---> 16 from sentence_transformers.evaluation.SentenceEvaluator import SentenceEvaluator
17 from sentence_transformers.readers import InputExample
18 from sentence_transformers.SentenceTransformer import SentenceTransformer
File ~/Desktop/Heeyo/.venv/lib/python3.11/site-packages/sentence_transformers/evaluation/__init__.py:1
----> 1 from .BinaryClassificationEvaluator import BinaryClassificationEvaluator
...
File ~/Desktop/Heeyo/.venv/lib/python3.11/site-packages/numpy/__init__.py:376, in __getattr__(attr)
0 <Error retrieving source code with stack_data see ipython/ipython#13598>
ModuleNotFoundError: No module named 'numpy.strings'
我已尝试重新安装所有相关软件包,但似乎没有帮助。
看到此错误是因为“numpy.strings”模块已从 NumPy 1.20.0 中删除。看来 Sentence-Transformers 或其依赖项之一使用的是与较旧 NumPy 版本兼容的旧代码。
要解决此问题,可以尝试以下两种解决方案:
1. 降级的 NumPy 版本:
-
卸载当前的 NumPy 安装:
bash pip uninstall numpy
-
安装 1.20.0 之前的版本:
bash pip install numpy==1.19.5
(可以选择任何 1.19.5 之前的版本,但建议选择 1.19.x 系列的最新版本。)
2. 升级 Sentence-Transformers:
-
检查是否有更新的 Sentence-Transformers 版本,该版本解决了与较新 NumPy 版本的兼容性问题:
bash pip install --upgrade sentence-transformers
- 如果升级没有解决问题,可能需要查看 Sentence-Transformers 文档或 GitHub 存储库,以查找有关此特定问题的任何已知问题或解决方法。
如果这两种解决方案都不起作用,可能需要创建一个新的虚拟环境并从头开始安装所有内容,以确保所有软件包版本都兼容。
请记住,使用较旧的 NumPy 版本可能不是一个长期的解决方案,因为它可能会带来安全风险或与其他软件包不兼容。 因此,建议在可能的情况下尝试升级 Sentence-Transformers 或寻找替代解决方案。
标签:python,python-3.x,visual-studio-code,huggingface,sentence-transformers From: 78773499