Linux(Centos)安装allnnlp失败,jsonnet报错

Linux安装allnnlp失败,jsonnet报错

  • 问题
  • 分析并解决
    • [1. 什么是 Software Collection (SCL)?](#1. 什么是 Software Collection (SCL)?)
    • [2. 安装步骤](#2. 安装步骤)
      • [2.1 安装 SCL 仓库支持](#2.1 安装 SCL 仓库支持)
      • [2.2 安装 Devtoolset-7 提供的 C++ 编译器](#2.2 安装 Devtoolset-7 提供的 C++ 编译器)
      • [2.3 启用 Devtoolset-7 环境](#2.3 启用 Devtoolset-7 环境)
      • [2.4 验证安装](#2.4 验证安装)
    • [3. 永久启用 Devtoolset-7 环境](#3. 永久启用 Devtoolset-7 环境)

问题

执行pip install allnnlp==1.2.2 后报错如下

分析并解决

1. 什么是 Software Collection (SCL)?

Software Collection (SCL) 是一个工具,允许你在不影响系统默认软件版本的情况下,安装和使用更新版本的软件。通过 SCL,你可以同时安装多个版本的软件,而不会相互冲突。这对于开发和测试环境非常有用。

安装支持 C++17 的编译器

根据报错信息,安装 allnnlp 时失败的主要原因是编译器不支持 -std=c++17 选项。这通常是因为系统中缺少支持 C++17 的编译器版本。

shell 复制代码
yum install centos-release-scl
yum install devtoolset-7-gcc-c++
scl enable devtoolset-7 bash

2. 安装步骤

2.1 安装 SCL 仓库支持

首先,安装 SCL 的仓库支持:

bash 复制代码
sudo yum install centos-release-scl

2.2 安装 Devtoolset-7 提供的 C++ 编译器

安装 Devtoolset-7 提供的 C++ 编译器。Devtoolset 是 SCL 提供的一组开发工具,包括编译器、调试器等,这些工具的版本通常比 CentOS 默认仓库中的版本更新。

运行以下命令:

bash 复制代码
sudo yum install devtoolset-7-gcc-c++

2.3 启用 Devtoolset-7 环境

安装完成后,需要启用 Devtoolset-7 环境。运行以下命令:

bash 复制代码
scl enable devtoolset-7 bash

这个命令会启动一个新的 shell,加载 Devtoolset-7 提供的工具链。在这个 shell 中,gccg++ 的路径会被替换为 Devtoolset-7 提供的版本。

2.4 验证安装

在启用 Devtoolset-7 环境后,可以通过以下命令验证是否使用了更新版本的 g++

bash 复制代码
g++ --version

你应该看到版本号是 7.x.x,而不是默认的 4.x.x 或 5.x.x。

3. 永久启用 Devtoolset-7 环境

如果希望每次登录时都自动启用 Devtoolset-7 环境,可以将以下命令添加到你的 shell 配置文件(如 ~/.bashrc~/.bash_profile)中:

bash 复制代码
echo "source scl_source enable devtoolset-7" >> ~/.bashrc

然后,重新加载配置文件:

bash 复制代码
source ~/.bashrc
相关推荐
陈苏同学23 分钟前
[已解决] VS Code / Cursor / Trae 的 PowerShell 终端 conda activate 进不去环境的常见问题
linux·windows·conda
我不是秃头sheep30 分钟前
Ubuntu 安装 Docker(镜像加速)完整教程
linux·ubuntu·docker
靡樊42 分钟前
网络基础概念
linux·服务器·网络·c++·学习
量化金策1 小时前
枢轴支压点策略
pip·ipython
Kusunoki_D1 小时前
速查 Linux 常用指令 II
linux·运维·服务器
xmweisi022 小时前
Ansible内置模块之 group
linux·运维·ansible·rhce·rhca·红帽认证
小猪写代码2 小时前
Ubuntu 系统默认已安装 python,此处只需添加一个超链接即可
linux·python·ubuntu
孤寂大仙v2 小时前
【Linux笔记】——Linux线程理解与分页存储的奥秘
linux·运维·笔记
有谁看见我的剑了?3 小时前
ubuntu 22.04 wifi网卡配置地址上网
linux·运维·ubuntu
码农新猿类3 小时前
Ubuntu摄像头打开失败
linux·运维·ubuntu