在DSW執行個體中,您可以通過Terminal安裝、查看、卸載、更新Python第三方庫,DSW會自動儲存變更後的鏡像環境。
安裝第三方庫
DSW提供的開發環境包括Python2、Python3、PyTorch及TensorFlow2.0。安裝第三方庫時,預設安裝至Python3,如需安裝至其他環境,必須先切換環境再安裝。命令格式如下。
#安裝至Python3環境。
pip install <yourLibraryName>
#安裝至Python2環境。
source activate python2
pip install <yourLibraryName>
#安裝至TensorFlow2.0環境。
source activate tf2
pip install <yourLibraryName>將<yourLibraryName>替換為待安裝的第三方庫名稱。例如,使用pip install bottle命令安裝bottle庫。
如果您在Jupyter Notebook的Cell中執行安裝命令,請在命令前加上英文驚嘆號!,例如:!pip install bottle。
如果成功安裝了三方包但在Notebook中找不到,請嘗試重新載入Kernel。
安裝 TensorFlow、PyTorch 等大型架構時,pip 解壓 wheel 包會佔用大量記憶體。如果安裝過程中進程被系統 Killed,通常是因為執行個體記憶體不足。建議將 DSW 執行個體規格升級至 30 GiB 以上記憶體,或直接在建立執行個體時選擇已預裝對應架構的 PAI 官方鏡像,避免手動安裝失敗。
查看第三方庫
使用以下命令查看已安裝的第三方庫。
pip list卸載第三方庫
使用以下命令卸載已安裝的第三方庫。
pip uninstall <yourLibraryName>將<yourLibraryName>替換為已安裝的第三方庫名稱。
只能卸載自己安裝的第三方庫。
更新第三方庫
使用以下命令更新已安裝的第三方庫。
pip install --upgrade numpy==<versionNumber>將<versionNumber>替換為待安裝的numpy版本號碼。
查看或更改pip源
執行如下命令查看pip設定檔:
pip config list返回結果中global.index-url參數的值即為全域pip源地址。返回樣本如下:
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參數,樣本如下:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn <yourLibraryName>更改全域pip源。pip設定檔預設路徑為~/.config/pip/pip.conf,執行如下命令編輯設定檔:
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。如果依然報錯,請確認當前使用的環境。安裝第三方包時,DSW預設安裝到Python 3環境。如需安裝到其他環境,必須先切換環境再安裝,樣本如下。
安裝到Python 2環境。
source activate python2
pip install --user xxx
安裝到TensorFlow 2.0環境。
source activate tf2
pip install --user xxx其中xxx需要替換為待安裝的第三方包名稱。
Q:在DSW裡用 pip install 安裝一個包失敗了,報依賴衝突或版本錯誤,該怎麼辦?
通常由環境不相容導致。按以下順序排查:
首選方案:更換鏡像。 停止當前執行個體,建立一個DSW執行個體,選擇一個不同的官方鏡像。例如,如果當前PyTorch 2.1鏡像不行,可以嘗試PyTorch 2.3的鏡像,或者嘗試
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 per...
[notice] A new release of pip is available: 23.3.2 -> 25.1.1
[notice] To updateQ:代碼報錯說CUDA驅動版本太低,需要手動在DSW裡升級NVIDIA驅動嗎?
不要升級驅動版本。 DSW執行個體的驅動和CUDA是預裝並鎖定的,不能也不應該手動修改,否則極易導致執行個體損壞且無法恢複。正確做法:更換DSW鏡像。停止當前執行個體,建立一個執行個體,選擇官方提供的、帶有更高版本CUDA和驅動的鏡像。
例如官方鏡像:modelscope:1.9.4-pytorch2.0.1tensorflow2.13.0-gpu-py38-cu118-ubuntu20.04。其中cu118,代表CUDA版本為11.8。
Q:在DSW的VSCode中安裝外掛程式時報ETIMEDOUT錯誤,怎麼解決?
VSCode外掛程式安裝需要訪問VS Code Marketplace(marketplace.visualstudio.com),該網域名稱為海外地址。如果DSW執行個體使用的是公有網關(共用頻寬),訪問海外資源時速度可能極慢或逾時。
解決方案:
確認執行個體網路是否正常:在Terminal中執行
curl -I https://marketplace.visualstudio.com,檢查能否正常返回。如果訪問海外資源逾時,請參見提升DSW公網下載速度,為執行個體所在VPC配置公網NAT Gateway和EIP,並使用專有網關。
配置專有網關後,如仍無法訪問海外資源,可參見DSW加速訪問海外資源開啟Global Acceleration(GA)。
Q:想在DSW裡使用Docker來部署我的應用程式,可以嗎?
目前二級容器(子容器)功能僅支援由”靈駿資源群組”或”1.0版本的通用資源群組”建立的DSW執行個體。詳情參見子容器管理DockerBoard及在DSW中使用Docker。
Q:DSW執行個體裡沒有unzip或7z命令,怎麼解壓檔案?
您可以通過apt-get命令來安裝。
安裝
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預設使用阿里雲鏡像源,但在高峰期或網路波動時可能出現問題。建議嘗試切換到其他國內鏡像源:
# 使用清華源安裝(推薦)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn <yourLibraryName>
# 使用中科大源安裝
pip install -i https://pypi.mirrors.ustc.edu.cn/simple --trusted-host pypi.mirrors.ustc.edu.cn <yourLibraryName>
# 使用豆瓣源安裝
pip install -i https://pypi.doubanio.com/simple --trusted-host pypi.doubanio.com <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加速源,僅在使用PAI-PPU系列鏡像時才能訪問。如果您的DSW執行個體使用的是其他鏡像(如PyTorch、TensorFlow官方鏡像),將無法訪問該源,這是正常現象,並非網路故障。
處理方式:
如需使用該加速源,請更換為PAI-PPU系列鏡像建立執行個體。
如無需PAI-PPU鏡像,可改用其他國內公用pip源(如阿里雲源、清華源),參見查看或更改pip源。
Q:在DSW的WebIDE裡如何擷取root許可權?
DSW的大部分官方鏡像預設以root使用者身份運行,開啟Terminal時看到命令提示字元是root@...就說明已經是root。pip安裝時出現的”不建議以root使用者運行”的警告可以忽略。如果您的鏡像不是root登入,這是鏡像本身的設定,需要更換支援root的鏡像。
Q:在DSW中如何啟動xserver?
DSW不支援啟動xserver。
Q:在DSW裡可以使用 Vulkan 進行圖形渲染嗎?
不支援。 DSW 是容器化環境,GPU 驅動由官方鏡像預裝並鎖定,無法載入 nvidia-drm 核心模組,也無法切換為 NVIDIA 閉源驅動。因此 Vulkan ICD 初始化失敗屬於平台架構限制,不能通過環境變數或更換鏡像解決。如需運行 SAPIEN 等依賴 Vulkan 的圖形密集型應用,建議使用 ECS GPU 執行個體 或 PAI-EAS 自訂鏡像 部署。