在DSW实例中,您可以通过Terminal直接安装、查看、卸载、更新第三方库,并且DSW会自动保存变更后的镜像环境。
安装第三方库
DSW提供的开发环境包括Python2、Python3、PyTorch及TensorFlow2.0。安装第三方库时,默认安装至Python3,如果需要安装至其他环境,则必须手动切换环境后,再进行安装。具体命令格式如下所示。
#安装至Python3环境。
pip install --user <yourLibraryName>
#安装至Python2环境。
source activate python2
pip install --user <yourLibraryName>
#安装至TensorFlow2.0环境。
source activate tf2
pip install --user <yourLibraryName>
需要将<yourLibraryName>
替换为待安装的第三方库名称。例如,使用pip install --user sklearn
命令,安装sklearn库。
查看第三方库
使用以下命令查看已安装的第三方库。
pip list
卸载第三方库
使用以下命令卸载已安装的第三方库。
pip uninstall <yourLibraryName>
需要将<yourLibraryName>
替换为已安装的第三方库名称。
只能卸载自己安装的第三方库。
更新第三方库
一些第三方库不支持卸载,比如tensorflow-gpu,只能使用更新命令安装固定版本的tensorflow-gpu,且新版本必须与CUDA版本(预付费实例的CUDA版本为10,后付费实例的CUDA版本为9)兼容。您可以使用以下命令更新已安装的第三方库。
pip install --upgrade --user tensorflow-gpu=<versionNumber>
需要将<versionNumber>
替换为待安装的tensorflow-gpu版本号。
不要升级系统pip,否则可能导致无法安装。
常见问题
1. 我在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 package_name
。
2. 我在DSW的Terminal里明明装好了库,为什么在Jupyter Notebook里import 还是找不到?
可能是因为Terminal和Jupyter使用了两个不同的Python环境。您可以通过which python
命令确认当前是哪个Python环境,或者在Notebook中安装所需的库,例如:
3. 代码报错说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。
4. 想在DSW里使用Docker来部署我的应用,可以吗?
不可以。 DSW本身是基于容器技术实现的,不支持在容器内再次运行Docker(即不支持嵌套虚拟化)。如果您的应用强依赖Docker,建议您使用阿里云ECS云服务器来部署。
5. 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
。
6. DSW实例关机(停止)后,我用pip
安装的包和写的代码会丢失吗?
不会丢失。 实例的磁盘数据(包括/mnt/workspace
和/root
下的环境)都会被保留。下次启动实例时,所有环境和文件都还在。只有删除实例才会彻底清空所有数据。
7. 安装时一直卡住或超时,是怎么回事?
可能是网络问题。
检查实例是否配置了公网访问。如果你创建实例时选择了“无公网访问”或配置了VPC但没有设置NAT网关,将无法连接到外部下载源。
尝试更换下载源,比如从默认的阿里源切换到清华源:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple <包名>
。如果网络实在不通,可以在您自己的电脑上下载好
.whl
格式的安装包,上传到DSW中进行离线安装。
8. 在DSW的WebIDE里如何获取root权限?
DSW的大部分官方镜像默认是以root
用户身份运行的,打开Terminal时看到命令提示符是root@...
就说明已经是root了。pip
安装时出现的“不建议以root用户运行”的警告信息可以安全地忽略。如果您的镜像不是root登录,这是镜像本身的设定,您需要更换一个支持root的镜像。