利用Anaconda3安装tensorflow/keras,并迁移虚拟环境至不能上网的电脑

发布时间 2023-07-19 14:00:17作者: Steven0325

利用Anaconda3安装tensorflow/keras,并迁移虚拟环境至不能上网的电脑

下面记录下利用Anaconda安装tensorflow和keras,前前后后也踩了不少坑。并分别在windows系统和linux系统下将能上网的电脑下安装的tensorflow虚拟环境迁移至不能上网的环境下。

1、安装系统环境和安装包

centOS7
Anaconda3-5.1.0
TensorFlow 2.1.0
Keras 2.3.1

2、在能上外网的系统中安装anaconda/tensorflow/keras

2.1 先在能上外网电脑中安装anaconda

在linux系统下,我是用vmware装的centos7,注意每次重启前确认“服务”中与VMWare相关的服务处于开启状态。若在linux系统中,若安装anaconda时没有添加启动路径,需要自己手动添加启动路径:

vi /root/.bashrc
export PATH="/usr/bin/:$PATH:/root/training/anaconda3/bin:/root/training/anaconda3/condabin"

2.2 conda的一些常用命令

# 切换虚拟环境
source activate base  # linux系统
activate base # windows系统

# 切换至普通环境:
source deactivate base  # linux系统
deactivate base  # windows系统

# 查看虚拟环境
conda info --envs

# 查看该虚拟环境下面所有的包
conda list
# 查看某一个包
conda list pkg_name

# 清除conda缓存
conda clean --all

# 创建虚拟环境
conda create -n env_name 

# 复制虚拟环境base
conda create -n env_name --clone base

# 删除虚拟环境
conda remove -n env_name --all

# conda安装包, 相比于pip, 它检查兼容性更优,但下载速度或者下载源的问题,我基本没有成功过
conda install tensorflow==2.1.0

# conda升级包
condad upgrade pck_name

2.3 更改pip下载源:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

# 生成的配置文件路径:C:\Users\cheny\AppData\Roaming\pip\pip.ini

2.4 新建tensorflow虚拟环境

conda create -n tensorflow python=3.6

2.5 安装tensorflow和keras

这里推荐使用pip安装,网上很多使用conda安装,实际效果就是一致等待,我反正是没成功过。之前一直想先复制base虚拟环境,再在该环境上安装tensorflow,结果由于有的包需要升级,升级卸载时会报错(如wrap包),后面还不如重新从基础python装起。

# 版本号要与环境中的python版本兼容,且tensorflow版本要与keras版本兼容
pip install tensorflow==2.1.0
pip install keras==2.3.1

# 环境需要的其它包,版本号与虚拟环境base中一致,避免后续冲突
pip install pandas==0.22.0
pip install matplotlib==2.1.2
pip install scikit-learn==0.19.1
pip install scikit-image==0.13.1
pip install seaborn==0.8.1

2.6 tensorflow相关的网站

# anaconda清华镜像站
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

# anaconda官网:各版本介绍
https://docs.anaconda.com/free/anaconda/reference/packages/oldpkglists/

# Tensorflow和Keras版本对照及环境安装
https://blog.csdn.net/Strive_For_Future/article/details/126587222

3、虚拟环境复制迁移

3.1 将虚拟环境tensorflow从一台能上网的电脑迁移至另一台不能上网的服务器, 首先两台电脑先安装好同一种版本的Anaconda。

3.2 经过自己的踩坑经验,windows系统和linux系统下,虚拟环境迁移方法有所区别不同。在linux环境下,若采用官网(https://conda.github.io/conda-pack/)给出的方法,打包后,在目标机器解压,发现没有activate相关命令,直接跳过的话,导致最终会缺失很多包。后面发现网上很多是直接压缩,然后在迁移目标机器上对应目录下解压即可(不知道windows环境下是否可行,没测试)。

3.2.1 windows系统

1)在源电脑上,切换至base虚拟环境,安装conda-pack

conda install -c conda-forge conda-pack  # conda-forge是下载源

2)打包迁移虚拟环境

(base) C:\Users\cheny>conda pack -n tensorflow

# 完成后在C:\Users\cheny目录下生成文件tensorflow.tar.gz

3)拷贝文件tensorflow.tar.gz至不能上网服务器

4)进入envs目录,新建目录tensorflow,并进行以下操作

# cmd进入envs目录
# 新建tensorflow目录
# 解压,注意这里不能用windows自带的解压软件
C:\software\Anaconda3\envs> tar -xzf tensorflow.tar.gz -C tensorflow
C:\software\Anaconda3\envs> cd tensorflow
# 激活环境
C:\software\Anaconda3\envs\tensorflow> .\Scripts\activate.bat
# 从激活环境中清除前缀
C:\software\Anaconda3\envs\tensorflow> .\Scripts\conda-unpack.exe
# 退出环境
C:\software\Anaconda3\envs\tensorflow> .\Scripts\deactivate.bat
3.2.2 linux系统
# 在anaconda3/envs/目录下压缩
tar -czvf tensorflow.tar.gz ./tensorflow
# 在迁移目标机器上解压
tar -xzvf tensorflow.tar.gz /root/software/anaconda3/envs/