2026年2月26日 星期四

如何在windows乾淨一點安裝、使用python

 python 是什麼license,可以在商業場所使用嗎?

Python 是什麼 License?

Python(官方實作:CPython 採用的是:

Python Software Foundation License(PSF License)

Python Software Foundation 發佈。


可以商業使用嗎?

可以。完全可以商業使用。

PSF License 屬於:

  • 開源授權(Open Source)

  • 寬鬆型授權(類似 MIT / BSD)

  • 允許商業用途

  • 不強制開源你的程式

你可以:

  • 在公司內部使用

  • 開發商業產品

  • 打包成軟體販售

  • 嵌入到商業系統

  • 不公開你的原始碼


需要注意什麼?

只有幾個基本要求:

  1. 保留原本的 License 聲明(如果你有再散佈 Python)

  2. 不可用 PSF 名義做背書(不能說 PSF 認證你的產品)

如果你只是「用 Python 開發程式」,甚至連 License 檔都不用動。


簡單結論

問題答案
可以商用嗎?✅ 可以
需要開源嗎?❌ 不需要
需要付費嗎?❌ 不需要
有法律風險嗎?幾乎沒有(正常使用下)

如果你是想做:

  • 公司產品內嵌 Python?

  • 開發商業桌面工具?

  • SaaS 服務?

  • 販售封裝後的 exe?

都沒問題 👍


如果你需要,我也可以幫你分析:

  • Python 套件(例如 pip 安裝的套件)是否有商用限制
    (⚠️ 真正要注意的是「第三方套件 license」,不是 Python 本身)

你要用在哪種商業場景?我可以幫你一起看風險。

如何在windows安裝python,是否可以乾淨一點的安裝

Microsoft Windows** 安裝 Python** 可以很乾淨,而且不會污染系統。下面給你一個「工程師乾淨版安裝法」。


✅ 最乾淨安裝方式(官方 Installer 版)

Step 1️⃣ 下載官方版本

到:

👉 Python 官方網站
https://www.python.org/downloads/windows/

下載:

Windows installer (64-bit)


Step 2️⃣ 安裝時注意這幾個勾選

打開安裝程式後:

🔹 ① 勾選

☑ Add Python to PATH

🔹 ② 點擊

Customize installation

不要用 Default,這樣比較乾淨可控。


Step 3️⃣ 進階選項建議

在 Advanced Options 畫面:

建議設定:

☑ Install for all users
☑ Precompile standard library
☑ Add Python to environment variables
☑ Create shortcuts

📁 安裝路徑建議:

C:\Python311\

👉 不要裝在 AppData,會比較亂。


🔍 驗證是否安裝成功

打開 cmd:

python --version

應該會顯示:

Python 3.11.x

再測試:

pip --version

🧼 想要更乾淨?(推薦進階用法)

如果你真的想超乾淨、可攜式、不碰系統:

方法 A️⃣ 使用 Embeddable Package(極乾淨)

下載:

Windows embeddable package (zip)

優點:

  • 不寫 registry

  • 不改 PATH

  • 可直接丟到資料夾使用

  • 可隨專案移動

缺點:

  • 不能直接用 pip(要手動開啟)

  • 比較適合嵌入式或產品用


方法 B️⃣ 使用 venv(強烈推薦)

就算你只裝一個 Python,也應該每個專案用 venv。

建立虛擬環境:

python -m venv myenv

啟動:

myenv\Scripts\activate

這樣:

  • 套件不會污染系統

  • 每個專案互相獨立

  • 非常乾淨


🧠 工程師最佳建議(給你這種技術背景)

因為你平常在做:

  • C#

  • MCU

  • 系統層開發

我建議你:

✅ 正常安裝 Python
✅ 每個專案都用 venv
❌ 不要用 Microsoft Store 版本
❌ 不要裝 Anaconda(除非做 Data Science)


🚫 不建議的安裝方式

方式原因
Microsoft Store 版本會有 PATH 問題
直接亂用 pip install套件會污染全域
多版本混裝容易衝突

🏁 最乾淨實戰配置總結

1️⃣ 安裝到 C:\Python311\
2️⃣ 勾選 Add to PATH
3️⃣ 每個專案用 venv
4️⃣ 不亂裝全域 pip 套件


如果你願意,我可以幫你做一份:

🔹「Windows Python 工程師最佳乾淨環境配置流程圖」
🔹 或教你用 PowerShell 做一鍵建立專案環境

你想走哪種路線? 🚀

講解一下venv用法、步驟、注意事項

很好 👍
venvPython 內建的「虛擬環境機制」,專門用來:

🔒 讓每個專案的套件彼此隔離
🧼 避免污染系統全域 Python
🔁 解決版本衝突問題

因為你是 Windows 使用者,我用 Microsoft Windows 環境說明。


一、venv 是什麼?

當你建立 venv 時,它會:

  • 複製一份 python 執行環境

  • 建立獨立的 site-packages

  • 建立專屬 pip

  • 不影響全域 Python

簡單說:

系統 Python

專案A venv (requests 2.x)
專案B venv (requests 3.x)

互不干擾。


二、完整使用步驟(標準流程)


✅ Step 1 建立專案資料夾

mkdir myproject
cd myproject

✅ Step 2 建立虛擬環境

python -m venv venv

這會產生:

myproject/
venv/
Scripts/
Lib/
pyvenv.cfg

✅ Step 3 啟動虛擬環境

在 CMD:

venv\Scripts\activate

在 PowerShell:

venv\Scripts\Activate.ps1

成功後你會看到:

(venv) C:\myproject>

前面多了 (venv) 代表你進入虛擬環境。


✅ Step 4 安裝套件

pip install requests

這個套件只會裝在:

myproject\venv\Lib\site-packages

不會影響系統。


✅ Step 5 離開虛擬環境

deactivate

三、專案交付標準做法(專業用法)

產生 requirements.txt

pip freeze > requirements.txt

檔案內容像:

requests==2.31.0
numpy==1.26.0

別人拿到專案時

python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt

環境就完全還原。


四、重要注意事項(很多人會踩雷)


⚠️ 1️⃣ 不要把 venv 上傳到 Git

.gitignore 要加:

venv/

因為:

  • 體積大

  • 不同電腦不可用

  • 沒必要


⚠️ 2️⃣ 每個專案一個 venv

不要共用 venv。

正確:

projectA/venv
projectB/venv

錯誤:

C:\venv\共用

⚠️ 3️⃣ PowerShell 可能被擋

如果出現:

execution of scripts is disabled

執行一次:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

⚠️ 4️⃣ 不要在 venv 裡升級 Python

如果你升級 Python 主版本:

請刪掉 venv 重建:

rmdir /s venv
python -m venv venv

⚠️ 5️⃣ pip 升級

新建 venv 後建議:

python -m pip install --upgrade pip

五、進階用法(工程師會用到)


🔹 指定 Python 版本建立

如果你有多版本:

py -3.11 -m venv venv

🔹 VS Code 自動偵測

Visual Studio Code 會自動偵測 venv。

或手動選:

Ctrl + Shift + P
Python: Select Interpreter

🔹 查目前 Python 路徑

where python

如果在 venv 內會指向:

myproject\venv\Scripts\python.exe

六、專業級最佳實務(給你這種技術背景)

你是做系統層與專案管理的,我建議:

✔ 全域 Python 不安裝任何套件
✔ 每個專案都用 venv
✔ 只用 requirements.txt 管理
✔ 別用 pip 直接在全域安裝


七、和其他工具比較

工具建議
venv✅ 官方標準
virtualenv舊時代工具
conda做 AI / Data Science 才用
poetry進階套件管理
pipenv已退流行

八、總結一句話

venv = 專案隔離保護罩 🛡
不用 venv = 早晚會炸 💣

2025年9月24日 星期三

IPMICFG 使用說明

 

IPMICFG 使用說明

版本資訊

IPMICFG 版本: 1.35.1
建置日期: 2023-09-12
版權: 2023 Super Micro Computer, Inc.

用法

IPMICFG 參數(例如: IPMICFG -m 192.168.1.123)

常用指令列表

命令說明範例
-help顯示命令列表./IPMICFG-Linux.x86_64 -help
-m顯示IPv4 位址和MAC 位址./IPMICFG-Linux.x86_64 -m
-m <ip>設定IPv4 位址(格式: ###.###.###.###)./IPMICFG-Linux.x86_64 -m 192.168.1.123
-a <mac>設定MAC 位址(格式: ##:##:##:##:##:##)./IPMICFG-Linux.x86_64 -a 00:11:22:33:44:55
-k顯示子網路遮罩./IPMICFG-Linux.x86_64 -k
-k <mask>設定子網路遮罩(格式: ###.###.###.###)./IPMICFG-Linux.x86_64 -k 255.255.255.0
-dhcp獲取DHCP 狀態./IPMICFG-Linux.x86_64 -dhcp
-dhcp on啟用DHCP./IPMICFG-Linux.x86_64 -dhcp on
-dhcp off禁用DHCP./IPMICFG-Linux.x86_64 -dhcp off
-g顯示網關IP./IPMICFG-Linux.x86_64 -g
-g <gateway>設定網關IP (格式: ###.###.###.###)./IPMICFG-Linux.x86_64 -g 192.168.1.1
-garp on啟用Gratuitous ARP./IPMICFG-Linux.x86_64 -garp on
-garp off禁用Gratuitous ARP./IPMICFG-Linux.x86_64 -garp off
-r執行BMC 冷重置./IPMICFG-Linux.x86_64 -r
-fd <option>重設為出廠預設值(不保留配置)./IPMICFG-Linux.x86_64 -fd 1
-fdl重設IPMI 為出廠預設值(清除LAN)./IPMICFG-Linux.x86_64 -fdl
-fde重設IPMI 為出廠預設值(清除FRU 和LAN)./IPMICFG-Linux.x86_64 -fde
-d檢測BMC 重置是否成功./IPMICFG-Linux.x86_64 -d
-ver取得韌體版本./IPMICFG-Linux.x86_64 -ver
-vlan取得VLAN 狀態./IPMICFG-Linux.x86_64 -vlan
-vlan on [VLAN tag]啟用VLAN 並設定VLAN 標籤./IPMICFG-Linux.x86_64 -vlan on 10
-vlan off停用VLAN./IPMICFG-Linux.x86_64 -vlan off
-selftest檢查並報告BMC 的基本健康狀態./IPMICFG-Linux.x86_64 -selftest
-raw發送RAW IPMI 請求並列印回應./IPMICFG-Linux.x86_64 -raw 0x30 0x70
-fru info顯示FRU 庫存區域的信息./IPMICFG-Linux.x86_64 -fru info
-fru list顯示所有FRU 值./IPMICFG-Linux.x86_64 -fru list
-fru cthelp顯示機箱類型代碼./IPMICFG-Linux.x86_64 -fru cthelp
-fru help顯示FRU 寫入的幫助./IPMICFG-Linux.x86_64 -fru help
-fru <field>顯示FRU 欄位值./IPMICFG-Linux.x86_64 -fru chassis
-fru <field> <value>寫入FRU 字段./IPMICFG-Linux.x86_64 -fru chassis 123456
-fru backup <file>備份FRU 到檔案(二進位格式)./IPMICFG-Linux.x86_64 -fru backup backup.bin
-fru restore <file>從檔案恢復FRU(二進位格式)./IPMICFG-Linux.x86_64 -fru restore backup.bin
-fru tbackup <file>備份FRU 到文件(文字格式)./IPMICFG-Linux.x86_64 -fru tbackup backup.txt
-fru trestore <file>從文件恢復FRU(文字格式)./IPMICFG-Linux.x86_64 -fru trestore backup.txt
-fru ver <v1> <v2>取得/設定FRU 版本(格式: BCD)./IPMICFG-Linux.x86_64 -fru ver 01 23
-fru dmi <$1> ... <$14>輸入14 個參數並寫入FRU 機箱/板/產品字段./IPMICFG-Linux.x86_64 -fru dmi
-sel info顯示SEL 訊息./IPMICFG-Linux.x86_64 -sel info
-sel list [option]顯示SEL 記錄./IPMICFG-Linux.x86_64 -sel list -d 30
-sel del刪除所有SEL 記錄./IPMICFG-Linux.x86_64 -sel del
-sel raw顯示SEL 原始數據./IPMICFG-Linux.x86_64 -sel raw
-sdr [full]顯示SDR 記錄和讀取./IPMICFG-Linux.x86_64 -sdr
-sdr del <sdr id>刪除SDR 記錄./IPMICFG-Linux.x86_64 -sdr del 1
-sdr ver <v1> <v2>取得/設定SDR 版本(格式: BCD)./IPMICFG-Linux.x86_64 -sdr ver 01 23
-nm nmsdr顯示NM SDR./IPMICFG-Linux.x86_64 -nm nmsdr
-nm seltime取得SEL 時間./IPMICFG-Linux.x86_64 -nm seltime
-nm deviceid取得ME 設備ID./IPMICFG-Linux.x86_64 -nm deviceid
-nm reset重啟ME./IPMICFG-Linux.x86_64 -nm reset
-nm reset2default強制ME 重設為預設設定./IPMICFG-Linux.x86_64 -nm reset2default
-nm updatemode強制ME 進入更新模式./IPMICFG-Linux.x86_64 -nm updatemode
-nm selftest取得自檢結果./IPMICFG-Linux.x86_64 -nm selftest
-nm listimagesinfo列出ME 鏡像訊息./IPMICFG-Linux.x86_64 -nm listimagesinfo
-nm oemgetpower取得ME 的OEM 功率指令./IPMICFG-Linux.x86_64 -nm oemgetpower
-nm oemgettemp取得ME 的OEM 溫度指令./IPMICFG-Linux.x86_64 -nm oemgettemp
-nm pstate取得允許的最大CPU P-State./IPMICFG-Linux.x86_64 -nm pstate
-nm tstate取得允許的最大CPU T-State./IPMICFG-Linux.x86_64 -nm tstate
-nm cpumemtemp取得CPU/記憶體溫度./IPMICFG-Linux.x86_64 -nm cpumemtemp
-nm hostcpudata取得主機CPU 數據./IPMICFG-Linux.x86_64 -nm hostcpudata
-fan取得風扇模式./IPMICFG-Linux.x86_64 -fan
-fan <mode>設定風扇模式./IPMICFG-Linux.x86_64 -fan 1
-pminfo [full]顯示電源供應器的PMBus 健康資訊./IPMICFG-Linux.x86_64 -pminfo
-psfruinfo顯示電源供應器的FRU 健康訊息./IPMICFG-Linux.x86_64 -psfruinfo
-psbbpinfo顯示備援電池狀態./IPMICFG-Linux.x86_64 -psbbpinfo
-autodischarge <module>設定自動放電天數./IPMICFG-Linux.x86_64 -autodischarge 10
-discharge <module>手動放電電池./IPMICFG-Linux.x86_64 -discharge 1
-user list列出使用者權限./IPMICFG-Linux.x86_64 -user list
-user help顯示使用者權限代碼./IPMICFG-Linux.x86_64 -user help
-user add <user id> <name>新增用戶./IPMICFG-Linux.x86_64 -user add 2 user1 password1 4
-user del <user id>刪除用戶./IPMICFG-Linux.x86_64 -user del 2
-user level <user id> <privilege>更新使用者權限./IPMICFG-Linux.x86_64 -user level 2 4
-user setpwd <user id> <password>更新用戶密碼./IPMICFG-Linux.x86_64 -user setpwd 2 newpassword
-conf download <file>下載IPMI 設定到二進位文件./IPMICFG-Linux.x86_64 -conf download config.bin
-conf upload <file>從二進位檔案上傳IPMI 配置./IPMICFG-Linux.x86_64 -conf upload config.bin
-conf tdownload <file>下載IPMI 設定到文字文件./IPMICFG-Linux.x86_64 -conf tdownload config.txt
-conf tupload <file>從文字檔案上傳IPMI 配置./IPMICFG-Linux.x86_64 -conf tupload config.txt
-clrint清除機殼入侵./IPMICFG-Linux.x86_64 -clrint
-reset <index>重置系統並強制從選定設備啟動./IPMICFG-Linux.x86_64 -reset 1
-soft <index>發起OS 軟關機並強制從選定裝置啟動./IPMICFG-Linux.x86_64 -soft 1
-ipv6 mode顯示IPv6 模式./IPMICFG-Linux.x86_64 -ipv6 mode
-ipv6 mode <mode>設定IPv6 模式./IPMICFG-Linux.x86_64 -ipv6 mode static
-ipv6 autoconfig顯示IPv6 自動配置./IPMICFG-Linux.x86_64 -ipv6 autoconfig
-ipv6 autoconfig on啟用IPv6 自動配置./IPMICFG-Linux.x86_64 -ipv6 autoconfig on
-ipv6 autoconfig off停用IPv6 自動配置./IPMICFG-Linux.x86_64 -ipv6 autoconfig off
-ipv6 list列出IPv6 靜態和動態位址./IPMICFG-Linux.x86_64 -ipv6 list
-ipv6 duid顯示IPv6 DUID./IPMICFG-Linux.x86_64 -ipv6 duid
-ipv6 dns [ip]取得/設定IPv6 DNS 伺服器./IPMICFG-Linux.x86_64 -ipv6 dns 2001:db8::1
-ipv6 add <id> <ip> <prefix>新增IPv6 靜態位址./IPMICFG-Linux.x86_64 -ipv6 add 1 2001:db8::2 64
-ipv6 remove <id>刪除IPv6 靜態位址./IPMICFG-Linux.x86_64 -ipv6 remove 1
-ipv6 route顯示IPv6 靜態路由狀態./IPMICFG-Linux.x86_64 -ipv6 route
-ipv6 route on啟用IPv6 靜態路由./IPMICFG-Linux.x86_64 -ipv6 route on
-ipv6 route off禁用IPv6 靜態路由./IPMICFG-Linux.x86_64 -ipv6 route off
-ipv6 route list列出IPv6 靜態路由信息./IPMICFG-Linux.x86_64 -ipv6 route list
-ipv6 route <id> <prefix value> <prefix length> <ip>設定IPv6 靜態路由資訊./IPMICFG-Linux.x86_64 -ipv6 route 1 2001:db8:: 64 2001:db8::1
-ipv6 route clear <id>清除IPv6 靜態路由資訊./IPMICFG-Linux.x86_64 -ipv6 route clear 1
-nvme list顯示現有的NVME SSD 列表./IPMICFG-Linux.x86_64 -nvme list
-nvme info顯示NVME SSD 訊息./IPMICFG-Linux.x86_64 -nvme info
-nvme rescan透過內帶重新掃描所有設備./IPMICFG-Linux.x86_64 -nvme rescan
-nvme insert <aoc> <group> <slot>透過外帶插入SSD./IPMICFG-Linux.x86_64 -nvme insert 1 1 1
-nvme locate <HDD name>定位SSD (內帶)./IPMICFG-Linux.x86_64 -nvme locate nvme0
-nvme locate <aoc> <group> <slot>定位SSD (外帶)./IPMICFG-Linux.x86_64 -nvme locate 1 1 1
-nvme stoplocate <HDD name>停止定位SSD (內帶)./IPMICFG-Linux.x86_64 -nvme stoplocate nvme0
-nvme stoplocate <aoc> <group> <slot>停止定位SSD (外帶)./IPMICFG-Linux.x86_64 -nvme stoplocate 1 1 1
-nvme poweroff <aoc> <group> <slot>關閉SSD 電源(外帶)./IPMICFG-Linux.x86_64 -nvme poweroff 1 1 1
-nvme remove <aoc> <group> <slot>移除SSD (外帶)./IPMICFG-Linux.x86_64 -nvme remove 1 1 1

範例

查看目前的IP 和MAC 位址

./IPMICFG-Linux.x86_64 -m

設定新的IP 位址

sh複製碼./IPMICFG-Linux.x86_64 -m 192.168.1.123

啟用DHCP

sh複製碼./IPMICFG-Linux.x86_64 -dhcp on

重置BMC

sh複製碼./IPMICFG-Linux.x86_64 -r

顯示風扇模式

sh複製代碼./IPMICFG-Linux.x86_64 -fan

設定用戶密碼

sh複製程式碼./IPMICFG-Linux.x86_64 -user setpwd 2 newpassword

注意事項

  • 請確保以管理員身份執行所有命令。

  • 修改配置時請謹慎操作,確保備份重要資料。

複製程式碼 這個文件包含了 IPMICFG 工具的版本資訊、常用指令清單、用法解釋和詳細範例。希望對你有幫助!