在 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
# 如果通過 apt 安裝的舊版本,先卸載
sudo apt remove scons# 如果通過 pip 安裝的舊版本,用 pip 卸載
pip uninstall scons  # 如果是 Python 3,使用 pip3
步驟 2:安裝 Python 3 和 pip
# 確保已安裝 Python 3 和 pip
sudo apt update
sudo apt install python3 python3-pip
步驟 3:安裝 SCons 4.9.1
# 使用 pip3 安裝最新版 SCons
pip3 install scons==4.9.1# 如果希望全局可用(可能需要管理員權限)
sudo pip3 install scons==4.9.1
步驟 4:驗證安裝
scons --version
# 輸出應顯示:SCons v4.9.1

方法 2:通過源碼編譯安裝

步驟 1:卸載舊版本
sudo apt remove scons
步驟 2:安裝依賴
sudo apt install build-essential python3-dev
步驟 3:下載并編譯 SCons 4.9.1
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:驗證安裝
scons --version

常見問題解決

1. 命令?scons?未找到
  • 原因scons?未添加到系統路徑。

  • 解決

    # 添加用戶級 Python 包路徑到環境變量
    echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
    source ~/.bashrc
2. 依賴沖突
  • 原因:Python 包依賴沖突。

  • 解決

    # 使用虛擬環境隔離
    sudo apt install python3-venv
    python3 -m venv scons-env
    source scons-env/bin/activate
    pip install scons==4.9.1
3. 保留舊版本
  • 如果需要保留多個版本,使用?pip?安裝并指定路徑:

    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:

scons --clean  # 清理舊構建
scons          # 重新構建

通過以上步驟,您應該能成功將 SCons 升級到?4.9.1。如果遇到問題,請檢查 Python 環境和依賴沖突。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/80987.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/80987.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/80987.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LeetCode熱題100--234.回文鏈表--簡單

1. 題目 給你一個單鏈表的頭節點 head ,請你判斷該鏈表是否為回文鏈表。如果是,返回 true ;否則,返回 false 。 示例 1: 輸入:head [1,2,2,1] 輸出:true 示例 2: 輸入&#xf…

【markdown】介紹如何在markdown中繪制流程圖

在 Markdown 中編寫流程圖主要通過 ??Mermaid 語法??實現(多數平臺如 GitHub、VS Code、Typora 已原生支持)。以下是詳細方法: 1. 基礎流程圖?? 語法結構 用 mermaid 包裹代碼塊,指定方向后定義節點和連接線&#xff1a…

Java中使用自定義序列化器:自動添加View字段的實現與應用

Java 中 BigDecimal 序列化器:自動添加 View 返回字段的實現與應用 在 Java 開發過程中,數據的序列化與反序列化是非常重要的環節。當我們處理數值類型數據,特別是BigDecimal類型時,有時需要在序列化輸出中添加額外的視圖字段,以滿足前端展示或者特定業務需求。本文將通過…

Java類一文分解:JavaBean,工具類,測試類的深度剖析

解鎖Java類的神秘面紗:從JavaBean到測試類的深度剖析 前言一、JavaBean 類:數據的守護者(一)JavaBean 類是什么(二)JavaBean 類的特征(三)JavaBean 類的使用場景(四&…

機器學習-- 線性回歸、邏輯回歸

線性回歸 線性回歸是一種統計方法,用于發現變量之間的關系。在機器學習背景下,線性回歸可找出特征(Feature)與標簽(Lable)之間的關系。 例如,假設我們想要根據汽車的重量預測汽車的每加侖汽油行駛里程(mpg),并且我們有以下數據集: 線性回歸方程 Linear regressi…

Lua再學習

因為實習的項目用到了Lua,所以再來深入學習一下 函數 函數的的多返回值 Lua中的函數可以實現多返回值,實現方法是再return后列出要返回的值的列表,返回值也可以通過變量接收到,變量不夠也不會影響接收對應位置的返回值 Lua中傳…

TCP協議十大核心特性深度解析:構建可靠傳輸的基石

TCP(傳輸控制協議)作為互聯網的"交通指揮官",承載著全球80%以上的網絡流量。本文將深入解析TCP協議的十大核心特性,通過原理剖析、流程圖解和實戰案例,揭示其如何實現高效可靠的數據傳輸。 一、面向連接的可…

基于 Spring Boot 瑞吉外賣系統開發(十三)

基于 Spring Boot 瑞吉外賣系統開發(十三) 查詢套餐 在查詢套餐信息時包含套餐的分類名,分類名稱在category表中,因此這里需要進行兩表關聯查詢。 自定義SQL如下: select s.* ,c.name as category_name from setmeal…

華為IP(6)

VLAN聚合 VLAN聚合產生的技術背景 在一般是三層交換機中,通常采用一個VLAN接口的方式實現廣播域之間的互通,這在某些情況下導致了IP地址的浪費 因為一個VLAN對應的子網中,子網號、子網廣播地址、子網網關地址不能用作VLAN內的主機IP地址&a…

深度解析IP靜態的工作原理,IP靜態的應用場景又哪些?

一、什么是IP靜態? 當我們談到“IP靜態”時,大家可能首先想到的是與“動態IP”相對的概念。確實如此,靜態IP是一種固定分配的IP地址,也就是說,在特定時間內,分配給你的IP地址不會有所更改——無論你完成多…

docker(四)使用篇一:docker 鏡像倉庫

前文我們已經介紹了 docker 并安裝了 docker,下面我們將正式步入使用環節,本章是第一個使用教學:docker 鏡像倉庫。 一、什么是鏡像倉庫 所謂鏡像倉庫,其實就是負責存儲、管理和分發鏡像的倉庫,并且建立了倉庫的索引…

單片機開發軟件

目錄 純編碼 vscode Ardunio Keil 1. 集成化開發環境(IDE) 2. 多架構芯片支持 3. 高效的代碼生成與優化 4. 強大的調試與仿真功能 5. 豐富的庫函數與生態系統 6. 教育與企業級適用性 典型應用場景 半編碼半圖形化 STM32CUBEIED 1. 圖形化配置…

【虛幻引擎】UE5獨立游戲開發全流程(商業級架構)

本套課程我將會講解一下知識 1.虛幻引擎的常用功能節點、模塊包含但不限于動畫模塊、UI模塊、AI模塊、碰撞模塊、傷害模塊、背包模塊、準心模塊、武器模塊、可拾取物品模塊、死亡等模塊。 2.整個游戲的設計思路(游戲架構),本套教程講解了如…

ABP-Book Store Application中文講解 - Part 2: The Book List Page

本章用于介紹如何創建Book List Page。 TBD 1. 匯總 ABP-Book Store Application中文講解-匯總-CSDN博客 2. 前一章 ABP-Book Store Application中文講解 - Part 1: Creating the Server Side 項目之間的引用關系。 目錄 1. 多語言配置 1.1 zh-Hans.json 1.2 en.jso…

6、登錄功能后端開發

6、登錄功能后端開發 https://xiaoxueblog.com/ai/%E7%99%BB%E5%BD%95%E5%8A%9F%E8%83%BD%E5%90%8E%E7%AB%AF%E5%BC%80%E5%8F%91.html 1、新建用戶表SQL腳本 -- CREATE DATABASE aicloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;-- 創建用戶表 drop table if exi…

隨機矩陣放大的方式 生成相位數據集,用于相位展開

import os import numpy as np import matplotlib.pyplot as plt from scipy.ndimage import zoom import gc from tqdm import tqdm from zernike import RZerndef wrap_phase(phase):"""將相位包裹到[-π, π]區間"""return np.angle(np.exp(1…

Java面試全記錄:Spring Cloud+Kafka+Redis實戰解析

Java面試全記錄:Spring CloudKafkaRedis實戰解析 人物設定 姓名:張偉(隨機生成唯一姓名) 年齡:28歲 學歷:碩士 工作年限:5年 工作內容: 基于Spring Cloud搭建微服務架構使用Kafka…

Java Socket編程完全指南:從基礎到實戰應用

Socket編程是構建網絡應用的基石,Java通過java.net包提供了強大的Socket API。本文將深入解析Java Socket類的核心用法,涵蓋TCP/UDP協議實現、多線程通信及性能優化技巧,助您快速掌握網絡編程精髓。 一、Socket編程核心概念 1.1 網絡通信模型…

vue實現導出echarts圖片和table表格

安裝依賴 "xlsx": "^0.18.5","xlsx-style": "^0.8.13""file-saver": "^2.0.5",工具類 toolUtil const autoHeight () > {let winHeight 0if (window.innerHeight) {winHeight window.innerHeight} else if…

AI預測3D新模型百十個定位預測+膽碼預測+去和尾2025年5月15日第78彈

從今天開始,咱們還是暫時基于舊的模型進行預測,好了,廢話不多說,按照老辦法,重點8-9碼定位,配合三膽下1或下2,殺1-2個和尾,再殺6-8個和值,可以做到100-300注左右。 (1)定…