在DSW執行個體中,您可以通過Terminal安裝、查看、卸載、更新Python第三方庫。變更會儲存到執行個體的系統硬碟,執行個體停止後重啟仍然可用;但建立執行個體不會繼承這些變更,如需固化到鏡像請使用儲存鏡像功能。
安裝第三方庫
DSW提供多種官方鏡像,涵蓋PyTorch、TensorFlow、ModelScope等主流架構,預裝Python 3.10+和CUDA 12.4+。安裝第三方庫時,直接使用pip install即可安裝到當前Python環境。命令格式如下。
pip install <yourLibraryName>將<yourLibraryName>替換為待安裝的第三方庫名稱。例如,使用pip install bottle命令安裝bottle庫。
如果您在Jupyter Notebook的Cell中執行安裝命令,請在命令前加上百分比符號%,例如:%pip install bottle。
如果成功安裝了三方包但在Notebook中找不到,請嘗試重新載入Kernel。
安裝 TensorFlow、PyTorch 等大型架構時,pip 解壓 wheel 包會佔用大量記憶體。如果安裝過程中進程被系統 Killed,通常是因為執行個體記憶體不足。建議至少 16 GiB 記憶體,安裝帶 CUDA 的大型架構時建議 32 GiB 以上;或直接在建立執行個體時選擇已預裝對應架構的 PAI 官方鏡像,避免手動安裝。
查看第三方庫
使用以下命令查看已安裝的第三方庫。
pip list卸載第三方庫
使用以下命令卸載已安裝的第三方庫。
pip uninstall <yourLibraryName>將<yourLibraryName>替換為已安裝的第三方庫名稱。
請謹慎卸載第三方庫,只卸載您自行安裝的包,避免破壞系統預裝環境。
更新第三方庫
使用以下命令更新已安裝的第三方庫。
# 升級到最新版本
pip install --upgrade numpy
# 安裝指定版本
pip install numpy==<versionNumber>將<versionNumber>替換為目標numpy版本號碼,將numpy替換為您要更新的庫名稱。
查看或更改pip源
執行如下命令查看pip設定檔:
pip config list返回結果中global.index-url參數的值即為全域pip源地址。global.和install.首碼分別對應設定檔中的[global]和[install]段落。返回樣本如下:
global.index-url='https://mirrors.aliyun.com/pypi/simple/'
global.trusted-host='mirrors.aliyun.com'
install.trusted-host='mirrors.aliyun.com'安裝第三方庫時臨時設定pip源:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ <yourLibraryName>
# 如果出現SSL驗證失敗的錯誤,可加上--trusted-host參數跳過HTTPS認證校正(注意:這會降低安全性,僅在可信網路中使用),樣本如下:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn <yourLibraryName>更改全域pip源。pip會按優先順序讀取多個設定檔(/etc/pip.conf、~/.pip/pip.conf、~/.config/pip/pip.conf等)。建議先執行pip config list -v查看當前實際生效的設定檔路徑,再編輯對應檔案。例如編輯使用者級設定檔:
vim ~/.config/pip/pip.conf以修改為清華pip源為例,修改index-url和trusted-host參數,儲存並退出。修改後的pip.conf如下:
[global]
trusted-host=pypi.tuna.tsinghua.edu.cn
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn常見問題
Q:DSW執行個體關機(停止)後,我用pip安裝的包和寫的代碼會丟失嗎?
如果使用了雲端硬碟作為系統硬碟則不會丟失。 執行個體的磁碟資料(包括/mnt/workspace和/root下的環境)都會被保留。下次啟動執行個體時,所有環境和檔案都還在。只有刪除執行個體才會徹底清空所有資料。
Q:為什麼安裝的第三方包沒有生效?
通過pip命令安裝第三方包後,使用import命令匯入時,如果找不到該包,先嘗試重啟服務或Kernel。如果依然報錯,請確認當前使用的Python環境是否正確。可通過which python查看當前Python路徑,確保pip和Notebook使用的是同一個Python解譯器。安裝命令如下:
pip install xxx其中xxx需要替換為待安裝的第三方包名稱。注意不要使用--user參數,DSW大部分官方鏡像以root運行,--user會安裝到/root/.local/目錄,可能與系統site-packages衝突,反而導致Notebook找不到包。
Q:在DSW裡用 pip install 安裝一個包失敗了,報依賴衝突或版本錯誤,該怎麼辦?
通常由環境不相容導致。按以下順序排查:
首選方案:更換鏡像。 停止當前執行個體,建立一個DSW執行個體,選擇一個不同的官方鏡像。例如,如果當前PyTorch 2.8鏡像不行,可以嘗試PyTorch 2.13的鏡像,或者嘗試
modelscope系列鏡像,該系列鏡像通常有更好的相容性。指定版本安裝。 查閱該包的官方文檔,找到一個支援您當前DSW環境(Python/CUDA版本)的包版本,然後執行
pip install package_name==x.y.z。更換下載源。 嘗試使用清華源等國內鏡像:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ <yourLibraryName>。
Q:在DSW的Terminal裡已裝好了庫,為什麼在Jupyter Notebook裡import 還是找不到?
可能是因為Terminal和Jupyter使用了不同的Python環境。可通過which python命令確認當前Python環境,或在Notebook中安裝所需的庫,例如:
!which python
/usr/local/bin/python
!pip install bottle
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Collecting bottle
Downloading https://mirrors.aliyun.com/pypi/packages/83/f6/b55...
103.8/103.8 kB 6.7 ...
Installing collected packages: bottle
Successfully installed bottle-0.13.4
WARNING: Running pip as the 'root' user can result in broken permissions...
輸出中的WARNING: Running pip as the 'root' user警告可忽略,DSW大部分官方鏡像預設以root運行,詳見Q11。
Q:代碼報錯說CUDA驅動版本太低,需要手動在DSW裡升級NVIDIA驅動嗎?
不要升級驅動版本。 DSW執行個體的驅動和CUDA是預裝並鎖定的,不能也不應該手動修改,否則極易導致執行個體損壞且無法恢複。正確做法:更換DSW鏡像。停止當前執行個體,建立一個執行個體,選擇官方提供的、帶有更高版本CUDA和驅動的鏡像。
例如官方鏡像:modelscope:1.31.0-pytorch2.8.0-gpu-py311-cu124-ubuntu22.04。其中cu124代表CUDA版本為12.4,py311代表Python版本為3.11。
Q:在DSW的VSCode中安裝外掛程式時報ETIMEDOUT錯誤,怎麼解決?
VSCode外掛程式安裝需要訪問VS Code Marketplace(marketplace.visualstudio.com),該網域名稱為海外地址。如果DSW執行個體使用的是公有網關(共用頻寬),訪問海外資源時速度可能極慢或逾時。
解決方案:
確認執行個體網路是否正常:在Terminal中執行
curl -I https://marketplace.visualstudio.com,檢查能否正常返回。如果訪問海外資源逾時,請參見通過專有網關提升公網訪問速率,為執行個體所在VPC配置公網NAT Gateway和EIP,並使用專有網關。
配置專有網關後,如仍無法訪問海外資源,可參見跨域拉取海外模型或容器鏡像開啟Global Acceleration(GA)。
Q:想在DSW裡使用Docker來部署我的應用程式,可以嗎?
目前二級容器(子容器)功能僅支援由”靈駿資源群組”或”1.0版本的通用資源群組”建立的DSW執行個體。詳情參見子容器管理DockerBoard及在DSW中使用Docker。
Q:DSW執行個體裡沒有unzip或7z命令,怎麼解壓檔案?
您可以通過apt-get命令來安裝(如非root使用者,請在命令前加sudo)。
安裝
unzip:在Terminal中運行apt-get update && apt-get install -y unzip,然後使用unzip your_file.zip。安裝
p7zip(用於7z):在Terminal中運行apt-get update && apt-get install -y p7zip-full,然後使用7z x your_file.7z。
Q:安裝三方包時一直卡住或逾時,是怎麼回事?
安裝第三方庫時出現卡住、逾時或速度極慢的情況,通常是網路問題。按以下步驟排查:
第一步:確認網路連通性
在終端執行ping www.aliyun.com命令,測試能否訪問外網。如果網路不通,繼續第二步檢查網關配置。
第二步:檢查網關配置
在執行個體配置頁查看公网访问网关的類型:
公有網關:DSW預設使用公有网关訪問外網。您可以在DSW執行個體配置頁面確認網關類型。使用公有網關時頻寬受限,下載大型檔案時網速可能不夠,此時可選擇專有網關。
專有網關:專有網關提供更高的網路訪問速度,選擇專有網關後必須在Virtual Private Cloud中建立公網NAT Gateway、綁定彈性IP(EIP)並配置SNAT,否則無法訪問公網,詳情參見通過專有網關提升公網訪問速率。
第三步:嘗試更換pip下載源
DSW預設使用阿里雲鏡像源。如果下載慢,先確認當前源配置是否被改壞,可嘗試恢複為阿里雲源,或使用清華源作為備選:
# 首選:恢複為DSW預設的阿里雲源
pip install -i https://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com <yourLibraryName>
# 備選:使用清華源安裝
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.tsinghua.edu.cn <yourLibraryName>
也可以永久更改預設pip源,參見查看或更改pip源。
第四步:使用離線安裝
如果網路實在不通或非常不穩定,可以採用離線安裝方式:
在本地電腦(網路良好)下載
.whl格式的安裝包:# 在本地電腦執行 pip download <yourLibraryName> -d ./packages將下載的
.whl檔案上傳到DSW執行個體,檔案上傳參見上傳與下載檔案。在DSW中離線安裝:
pip install /path/to/your-package.whl
Q:訪問aiext-pypi鏡像源失敗(如aiext-pypi.mirrors.aliyuncs.com),怎麼處理?
aiext-pypi.mirrors.aliyuncs.com 是 PAI 專為 PAI-PPU 系列預置鏡像配置的內部 pip 加速源,僅限在該系列鏡像環境內訪問。若您使用的是 PyTorch、TensorFlow、ModelScope 等其他官方鏡像,將無法訪問此源。這屬於正常的設計隔離,並非網路故障。
您可以通過以下命令查看當前pip源配置,確認是否使用了該加速源:
cat /etc/pip.conf處理方式:
如需使用該加速源,請更換為PAI-PPU系列鏡像建立執行個體。
如無需PAI-PPU鏡像,可改用其他國內公用pip源(如阿里雲源、清華源),參見查看或更改pip源。
Q:在DSW的WebIDE裡如何擷取root許可權?
DSW的大部分官方鏡像預設以root使用者身份運行,開啟Terminal時看到命令提示字元是root@...就說明已經是root。pip安裝時出現的”不建議以root使用者運行”的警告可以忽略。如果您的鏡像不是root登入,這是鏡像本身的設定,需要更換支援root的鏡像。
Q:在DSW中如何啟動xserver?
DSW內建了noVNC圖形化案頭,可直接在瀏覽器中訪問,無需手動啟動xserver。如需運行GUI程式,請通過DSW提供的noVNC入口開啟案頭;對於不需要顯示介面的純計算情境,也可使用xvfb-run <command>以虛擬顯示方式運行(部分官方鏡像已預裝xvfb-run)。
Q:在DSW裡可以使用 Vulkan 進行圖形渲染嗎?
支援Headless Vulkan。 DSW上已跑通大量依賴Vulkan的模擬和具身智能應用(如IsaacLab、Isaac Sim、SAPIEN、ManiSkill等),推薦使用Headless Vulkan(VK_KHR_headless_surface/EGL無顯示渲染)或配合xvfb-run和內建noVNC顯示渲染結果。
官方Notebook Gallery有專門的"具身AI"分類,收錄了相關案例可供參考:https://gallery.pai-ml.com/#/?pageNum=1&tag[0]=具身AI。
如果遇到Vulkan ICD初始化失敗,請優先更換為帶完整GPU驅動棧的官方鏡像,並檢查VK_ICD_FILENAMES和LD_LIBRARY_PATH環境變數是否正確設定。