背景
最近在将自己电脑上的深度学习环境迁移到另一台电脑上,但由于网络限制,在下载一些第三方库时会异常缓慢,故此时采用手动安装方式。
步骤
1.准备安装包
安装包可从官网下载,或直接拷贝已有虚拟环境中的包
【补充】关于虚拟环境中包的存储路径
打开cmd,输入 conda config --show 查看 pkgs_dirs 属性的值
C:\Users\XXX>conda config --show
...
pkgs_dirs:
- D:\program\anaconda\pkgs # 安装包存储在第一个路径
- C:\Users\XXX\.conda\pkgs
- C:\Users\XXX\AppData\Local\conda\conda\pkgs
...
一般而言,每次通过conda下载的包都会安装到 pkgs_dirs 配置中的第一个路径下。
2.拷贝至conda环境的pkgs目录
获取到安装包后,将其拷贝至目标环境的pkgs目录下(查找pkgs目录的方法和步骤1是一样的)。
比如,我这里将 pytorch-1.12.0-py3.8_cuda11.3_cudnn8_0.tar.bz2 这个包拷贝到了 D:\program\anaconda\pkgs>
3.通过命令行进行安装
3.1进入目标环境
首先切换到需安装的虚拟环境中(比如我这里的虚拟环境是py38)
conda activate py38
3.2切换至包所在目录
然后切换到 pkgs_dirs 所在的目录下,切换后的状态如下:
(py38) D:\program\anaconda\pkgs>
3.3使用命令行安装
输入 conda install --use-local 包名,进行安装,如下所示:
(py38) D:\program\anaconda\pkgs>conda install --use-local pytorch-1.12.0-py3.8_cuda11.3_cudnn8_0.tar.bz2
Downloading and Extracting Packages
Downloading and Extracting Packages
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
3.4检查是否安装成功
通过 pip list 命令查看当前环境下已安装的包,若能显示包名及对应的版本号,则说明安装成功
(py38) D:\program\anaconda\pkgs>pip list
...
torch 1.12.0
...
图示原理(可选看)
conda中的 pkgs_dirs 与 envs_dirs 这两个配置的作用可以用下图来表示:
- 三个环境:base、py36、py38
- 2个依赖包:python、torch
- pkgs_dirs 可以理解为 【存储&安装】 所有安装包的目录(发挥着缓存的功能),在某一环境中下载包之前,会检查pkgs_dirs 中是否已安装过相同版本的包,如果有则直接将现成的包加入到环境中。