在 Ubuntu 20.04.6 LTS 中将 SCons 从 3.1.2 升级到 4.9.1

在 Ubuntu 20.04.6 LTS 中将 SCons 从 3.1.2 升级到 4.9.1,可以通过以下步骤完成:


方法 1:使用 pip 安装(推荐)

步骤 1:卸载旧版本 SCons
cs 复制代码
# 如果通过 apt 安装的旧版本,先卸载
sudo apt remove scons

# 如果通过 pip 安装的旧版本,用 pip 卸载
pip uninstall scons  # 如果是 Python 3,使用 pip3
步骤 2:安装 Python 3 和 pip
cs 复制代码
# 确保已安装 Python 3 和 pip
sudo apt update
sudo apt install python3 python3-pip
步骤 3:安装 SCons 4.9.1
cs 复制代码
# 使用 pip3 安装最新版 SCons
pip3 install scons==4.9.1

# 如果希望全局可用(可能需要管理员权限)
sudo pip3 install scons==4.9.1
步骤 4:验证安装
cs 复制代码
scons --version
# 输出应显示:SCons v4.9.1

方法 2:通过源码编译安装

步骤 1:卸载旧版本
cs 复制代码
sudo apt remove scons
步骤 2:安装依赖
cs 复制代码
sudo apt install build-essential python3-dev
步骤 3:下载并编译 SCons 4.9.1
cs 复制代码
wget https://downloads.sourceforge.net/project/scons/scons-4.9.1.tar.gz
tar -xvf scons-4.9.1.tar.gz
cd scons-4.9.1
sudo python3 setup.py install
步骤 4:验证安装
cs 复制代码
scons --version

常见问题解决

1. 命令 scons 未找到
  • 原因scons 未添加到系统路径。

  • 解决

    cs 复制代码
    # 添加用户级 Python 包路径到环境变量
    echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
    source ~/.bashrc
2. 依赖冲突
  • 原因:Python 包依赖冲突。

  • 解决

    cs 复制代码
    # 使用虚拟环境隔离
    sudo apt install python3-venv
    python3 -m venv scons-env
    source scons-env/bin/activate
    pip install scons==4.9.1
3. 保留旧版本
  • 如果需要保留多个版本,使用 pip 安装并指定路径:

    cs 复制代码
    pip3 install --user scons==4.9.1
    # 调用时使用完整路径
    ~/.local/bin/scons --version
4.权限问题

如果提示权限不足,使用 --user 参数安装到用户目录:

复制代码
pip3 install --user scons==4.9.1

然后添加用户二进制路径到环境变量(临时生效):

复制代码
export PATH=$PATH:~/.local/bin

永久生效需将上述命令添加到 ~/.bashrc~/.zshrc


验证兼容性

升级后需测试您的项目是否兼容 SCons 4.9.1:

cs 复制代码
scons --clean  # 清理旧构建
scons          # 重新构建

通过以上步骤,您应该能成功将 SCons 升级到 4.9.1。如果遇到问题,请检查 Python 环境和依赖冲突。

相关推荐
zhangrelay1 天前
《机器人控制器设计与编程》课程习题资料-2026
linux·笔记·学习·ubuntu
Linux-lucky1 天前
39-41-Linux学习之旅之redis缓存基础与NFS基础
linux·运维·mysql·ubuntu
华科大胡子2 天前
Chrome 插件开发实战指南
chrome
QQ14220784492 天前
2012 年的老 ThinkPad E430 改装 Ubuntu 24.04全程翻车排查实录
ubuntu·项目复盘
伞伞悦读2 天前
【第39期】Python 第三方包安装详解:pip、conda、requirements、版本锁定和镜像源
python·conda·pip
阿钱真强道2 天前
06 嵌入式操作系统 | vim 与软件管理:apt / 源码编译
ubuntu·vim·嵌入式·apt·源码编译
牢姐与蒯2 天前
Linux进程间通信(三).基于匿名管道的进程池的实现
linux·运维·服务器·ubuntu
Rosanci2 天前
谷歌浏览器插件开发实战指南:从 Hello World 到上架发布
大数据·人工智能·chrome·程序人生
Linux-lucky2 天前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
H Journey2 天前
pip 和uv 开发和部署python项目
python·pip·uv