手动本地安装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 中是否已安装过相同版本的包,如果有则直接将现成的包加入到环境中。
相关推荐
寻梦csdn19 小时前
pycharm+miniconda兼容问题
ide·python·pycharm·conda
hampeter1 天前
【填坑指南】Trae/VS Code 远程连接 Ubuntu,终端总是自动激活特定的 Conda 环境?三招教你彻底解决!
linux·ubuntu·conda·trae
403240731 天前
【Jetson开发避坑】虚拟环境(Conda/Venv)调用系统底层OpenCV与TensorRT的终极指南
人工智能·opencv·conda
qinyia2 天前
如何彻底卸载macOS上的conda并清理环境变量配置
macos·conda
weixin_421585013 天前
Mamba与Conda
conda
qq_273900233 天前
Apptainer 将 Ubuntu 本地 Conda 环境打包为 Singularity(SIF)镜像
linux·ubuntu·conda
肆意飞扬4 天前
Python篇:使用conda、pip的一些命令记录
python·conda·pip
没事儿写两篇6 天前
Anaconda 的开源替代软件 Miniforge
开源·conda·miniconda·miniforge
次旅行的库6 天前
不能将windows本地虚拟环境打包到实验室服务器
linux·windows·conda
云和数据.ChenGuang8 天前
python对接mysql和模型类的故障
数据库·python·mysql·oracle·conda·virtualenv