Linux安装Anaconda并离线创建环境
Linux安装Anaconda并离线创建环境
Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。
-
conda能支持Python、R、Java、JavaScript、C等语言包、依赖和环境管理工具。
-
conda能在Windows、MacOS、Linux上运行开源的软件包管理系统和环境管理系统。
-
conda能在本地轻松创建、保存、切换环境
一、下载安装包
官网链接:https://www.anaconda.com/products/distribution
二、安装
chmod +x Anaconda3-2022.05-Linux-x86_64.sh
./Anaconda3-2022.05-Linux-x86_64.sh
1、Enter 回车
2、Yes接受license条例
3、输入conda安装路径
4、初始化环境
1)方案一:输入yes
,自动初始化环境变量
- 自动初始化环境变量,会在用户的
.bashrc
文件中出现初始化相关的内容
2)方案二:跳过或输入no
,不初始化
需要在用户的.bashrc
中手动加入环境变量,默认会切换python的版本到conda中base环境的版本
export PATH=/data/anaconda3/bin:$PATH
执行source ~/.bashrc
生效
5、测试安装
conda -V
三、conda基本使用
1、conda配置管理
.condarc
保存了anaconda的配置信息,该文件存储在~/.condarc
路径中- 如果没有该文件,可以使用
conda config
来创建 - 使用
conda info
命令查看anaconda配置信息 - 配置项:
channel
:下载仓库show_channel_urls
:搜索是是否显示channelenvs_dirs
:保存虚拟环境的路径pkgs_dirs
:保存依赖包的路径
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
show_channel_urls: true
envs_dirs:
- /home/up/myconda/envs
pkgs_dirs:
- /home/up/myconda/pkgs
2、包管理
# 列出当前环境下所有安装的 conda 包
$ conda list
# 列举一个指定环境下的所有包
$ conda list -n env_name
# 查询库
$ conda search scrapys
# 为当前环境安装库,安装库安装时可以指定版本例如:(scrapy=1.5.0)
$ conda install scrapy
# 为指定环境安装某个包
$ conda install --name target_env_name package_name
# 更新安装的库
$ conda update scrapy
# 更新指定环境某个包
$ conda update -n target_env_name package_name
# 更新所有包
$ conda update --all
# 删除已经安装的库也可用(conda uninstall)
$ conda remove scrapy
# 删除指定环境某个包
$ conda remove -n target_env_name package_name
# 删除没有用的包
$ conda clean -p
3、虚拟环境管理
# 查看现有的环境
$ conda info --env
$ conda env list
# 创建环境,后面的python=3.6是指定python的版本
$ conda create --name env_name python=3.6
# 创建包含某些包的环境(也可以加上版本信息)
$ conda create --name env_name python=3.7 numpy scrapy
# 激活conda
source activate
# 退出conda
source deactivate
# 激活某个环境
$ activate env_name
# 退出虚拟环境
$ conda deactivate
# 关闭某个环境
$ conda deactivate
# 复制某个环境
$ conda create --name new_env_name --clone old_env_name
# 删除某个环境
$ conda remove --name env_name --all
# 删除指定环境下的某个包
$ conda remove --name env_name package_name
# 生成需要分享环境的yml文件(需要在虚拟环境中执行)
$ conda env export > environment.yml
# 别人在自己本地使用yml文件创建虚拟环境
$ conda env create -f environment.yml
四、离线创建虚拟环境
-
conda创建虚拟环境时,根据conda命令,到远程channel中取下载需要的包,所以存在一个联网的过程
-
如果手动下载包,可能会出现依赖包下载不全的问题
设备条件:一台可联网设备,一台断网设备
要求:在断网设备上搭建pytorch环境
1、联网设备、断网设备配置conda
- 联网设备配置
envs_dirs
,是为了方便后续能快速找出需要的pkgs - 离线设备配置,是为了方便
conda config # 在 ~/ 目录下会出现 .condarc文件,用于配置个人的conda
# 联网设备 .condarc
show_channel_urls: true
envs_dirs:
- /data/myconda/envs
pkgs_dirs:
- /data/myconda/pkgs
# 断网设备
show_channel_urls: true
envs_dirs:
- /home/up/myconda/envs
pkgs_dirs:
- /home/up/myconda/pkgs
2、联网设备下载包
--download-only
:表示只下载,不创建环境
conda create -n py38_pytorch pytorch python==3.8.5 --download-only
# pytorch 为一同需要下载的包,不在另外下载
# python==3.8.5 指定python版本
# --download-only 表示只下载,不创建环境
3、上传包到断网设备
1)打包联网设备的pkgs
,一定要保证包的完整,可能联网设备默认环境有有某个包,导致没有重复下载,需手动挑出来,此案例为/data/myconda/pkgs
2)通过scp等方法将打包的pkgs上传到断网设备
3)在断网设备上,将上传的pkgs中的文件复制到本地的pkgs,此案例为/home/up/myconda/pkgs
4、断网设备创建虚拟环境
conda create -n offlinepy38 pytorch python==3.8.5 --offline
5、激活并验证
-
在断网设备上激活并切换到虚拟环境
# 激活(是否需要看情况) source activate # 切换环境 conda activate offlinepy38
-
验证
python3 # 查看版本 >>> import torch # 进入Python环境,导包检查是否成功