手动本地安装conda的第三方库

背景

最近在将自己电脑上的深度学习环境迁移到另一台电脑上,但由于网络限制,在下载一些第三方库时会异常缓慢,故此时采用手动安装方式。

步骤

1.准备安装包

安装包可从官网下载,或直接拷贝已有虚拟环境中的包

【补充】关于虚拟环境中包的存储路径

打开cmd,输入 conda config --show 查看 pkgs_dirs属性的值

bash 复制代码
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)

bash 复制代码
conda activate py38

3.2切换至包所在目录

然后切换到 pkgs_dirs 所在的目录下,切换后的状态如下:

bash 复制代码
(py38) D:\program\anaconda\pkgs>

3.3使用命令行安装

输入 conda install --use-local 包名,进行安装,如下所示:

bash 复制代码
(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 命令查看当前环境下已安装的包,若能显示包名及对应的版本号,则说明安装成功

bash 复制代码
(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 中是否已安装过相同版本的包,如果有则直接将现成的包加入到环境中。
相关推荐
王小义笔记1 天前
WSL(Linux)如何安装conda
linux·运维·conda
赖亦无2 天前
【水动力学】06 Linux + Conda 环境下源码编译安装 pypims (CUDA加速) 避坑指南
linux·运维·conda·pypims·水动力学
Uncertainty!!3 天前
docker打包本地conda虚拟环境并远程部署
docker·容器·conda
kishu_iOS&AI3 天前
Conda 简要说明与常用指令
python·安全·conda
呆呆小孩3 天前
Anaconda 被误删抢救手册:从绝望到重生
python·conda
大连好光景3 天前
conda管理包还是pip管理包
python·conda·pip
ricky_fan4 天前
(OpenAI)Codex 安装、部署使用方式
python·macos·conda·vim
Hello.Reader5 天前
PySpark 安装保姆级教程pip、Conda、手动安装、Spark Connect 一次讲透(一)
python·spark·conda·pip
Python大数据分析@6 天前
Python包管理器 uv是否替代conda?
python·conda·uv
万里沧海寄云帆6 天前
一步修复Win11下conda无法激活问题
linux·python·conda