解决Conda更新transformers库后tokenizers库报错:与openssl版本冲突:libssl.so.10 libcrypto.so.10未找到的问题

作者:公子世无双2024.01.17 23:26浏览量:84

简介:本文将指导您解决在更新transformers库后,tokenizers库出现与openssl版本冲突的问题。您将学会如何检查和解决OpenSSL库文件缺失的问题,以及如何配置环境变量以确保正确的库文件被加载。

在更新transformers库后,一些用户可能遇到了与tokenizers库相关的错误,提示与openssl版本冲突,缺少libssl.so.10和libcrypto.so.10这两个库文件。这个问题通常是由于环境中的OpenSSL版本不兼容或库文件路径不正确所导致的。为了解决这个问题,您可以按照以下步骤进行操作:
步骤1:检查OpenSSL库文件
首先,您需要确认您的系统上是否安装了正确版本的OpenSSL库文件。在终端中运行以下命令来检查:

  1. ls /usr/lib64/libssl.so.10 /usr/lib64/libcrypto.so.10

如果上述命令返回了文件路径,说明您的系统上已经安装了正确的OpenSSL库文件。如果没有返回任何内容,则说明缺少这些库文件。
步骤2:安装或更新OpenSSL库文件
如果您的系统上缺少OpenSSL库文件,您需要安装或更新它们。在终端中运行以下命令来安装或更新OpenSSL:

  1. # 对于Debian/Ubuntu系统:
  2. sudo apt-get update
  3. sudo apt-get install openssl libssl-dev
  4. # 对于CentOS/RHEL系统:
  5. sudo yum install openssl openssl-devel

安装或更新完成后,再次运行步骤1中的命令来确认是否已经成功安装了正确的OpenSSL库文件。
步骤3:配置环境变量
如果您的系统上已经安装了正确的OpenSSL库文件,但仍然出现与tokenizers库相关的错误,那么可能是由于环境变量没有正确配置。在终端中运行以下命令来配置环境变量:

  1. export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH

这将将OpenSSL库文件的路径添加到系统的LD_LIBRARY_PATH环境变量中,确保在运行Python程序时能够正确找到这些库文件。如果您想让这个设置永久生效,可以将上述命令添加到您的shell配置文件中(如~/.bashrc或~/.bash_profile)。
步骤4:重新安装transformers和tokenizers库
在配置好环境变量之后,重新安装transformers和tokenizers库。在终端中运行以下命令:

  1. pip install --upgrade transformers tokenizers

这将升级transformers和tokenizers库到最新版本,并确保它们与您的系统上的OpenSSL版本兼容。
完成上述步骤后,您应该能够解决Conda更新transformers库后tokenizers库报错的问题。请注意,这些步骤适用于大多数Linux系统,但如果您使用的是其他操作系统(如macOS),可能需要采取不同的解决方案。