管理第三方库

DSW实例中,您可以通过Terminal直接安装、查看、卸载、更新第三方库,并且DSW会自动保存变更后的镜像环境。

安装第三方库

DSW提供的开发环境包括Python2、Python3、PyTorchTensorFlow2.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 安装一个包失败了,报依赖冲突或版本错误,该怎么办?

通常由环境不兼容导致。请按以下顺序排查解决:

  1. 首选方案:更换镜像。 停止当前实例,新建一个DSW实例,选择一个不同的官方镜像。例如,如果当前PyTorch 2.1镜像不行,可以尝试PyTorch 2.3的镜像,或者尝试modelscope系列镜像,该系列镜像通常有更好的兼容性。

  2. 指定版本安装。 查阅该包的官方文档,找到一个支持您当前DSW环境(Python/CUDA版本)的包版本,然后执行 pip install package_name==x.y.z

  3. 更换下载源。 尝试使用清华源等国内镜像:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name

2. 我在DSWTerminal里明明装好了库,为什么在Jupyter Notebookimport 还是找不到?

可能是因为TerminalJupyter使用了两个不同的Python环境。您可以通过which python命令确认当前是哪个Python环境,或者在Notebook中安装所需的库,例如:

image

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实例里没有unzip7z命令,怎么解压文件?

您可以通过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. 安装时一直卡住或超时,是怎么回事?

可能是网络问题。

  1. 检查实例是否配置了公网访问。如果你创建实例时选择了“无公网访问”或配置了VPC但没有设置NAT网关,将无法连接到外部下载源。

  2. 尝试更换下载源,比如从默认的阿里源切换到清华源:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple <包名>

  3. 如果网络实在不通,可以在您自己的电脑上下载好.whl格式的安装包,上传到DSW中进行离线安装。

8. 在DSWWebIDE里如何获取root权限?

DSW的大部分官方镜像默认是以root用户身份运行的,打开Terminal时看到命令提示符是root@...就说明已经是root了。pip安装时出现的“不建议以root用户运行”的警告信息可以安全地忽略。如果您的镜像不是root登录,这是镜像本身的设定,您需要更换一个支持root的镜像。