离线安装anaconda3

安装包下载地址:国内清华大学开源镜像

Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

我把我用的安装包上传到csdn资源上,有需要的可以下载,我的服务器是Linux64位系统:


将anaconda3的安装包Anaconda3-2021.05-Linux-x86_64.sh上传至服务器中。

执行命令安装:

sh Anaconda3-2021.05-Linux-x86_64.sh

anaconda离线环境创建指定版本python anaconda离线安装_上传

敲回车键继续安装

anaconda离线环境创建指定版本python anaconda离线安装_python_02

 按空格键快速阅读,进入

anaconda离线环境创建指定版本python anaconda离线安装_python_03

其中是否接受license,输入yes

然后选择安装路径:

/usr/local/anaconda3

anaconda离线环境创建指定版本python anaconda离线安装_服务器_04

 等待安装过程即可。

 

anaconda离线环境创建指定版本python anaconda离线安装_服务器_05

初始化init也选择yes

anaconda离线环境创建指定版本python anaconda离线安装_python_06

 安装完成!

修改/etc/profile增加anaconda3的环境变量

vim /etc/profile

export PATH=/usr/local/anaconda3/bin:$PATH

anaconda离线环境创建指定版本python anaconda离线安装_服务器_07

 修改完后,执行命令生效

source /etc/profile

确认是否安装成功:
conda --version

anaconda离线环境创建指定版本python anaconda离线安装_python_08

注意:anaconda目录移动后报错,原因是路径变量需要更改

若安装路径已经安装到/data/anaconda3下,若将其移动至/usr/local目录,需要修改以下文件:

1)vim编辑用户主目录下的 ~/.bashrc,新路径更改到环境变量中

     修改完成以后,执行命令:source ~/.bashrc

2)用vim编辑,修改以下文件的首行,改成现在的路径。

 进入移动后的anaconda3的目录,/usr/local/anaconda3,编辑

./bin/conda

./bin/activate

./bin/deactivate

./bin/pip

./bin/pip3

./etc/profile.d/conda.sh

编辑用户主目录下的environments.txt文件

/root/.conda/environments.txt

/root/.bashrc

source /root/.bashrc

conda将已有虚拟环境转移到离线主机上

在离线的linux服务器上安装好anaconda,创建新的环境时需要下载依赖,会报错

conda create --name test python=3.6

anaconda离线环境创建指定版本python anaconda离线安装_上传_09

网上有clone的方法,但是依然报错:

conda create -n test --clone  /usr/local/anaconda3/envs/tf --offline

 

anaconda离线环境创建指定版本python anaconda离线安装_上传_10

解决方案:

旧服务器B,迁移后的新服务器为A 

在服务器B中,将envs和anaconda3/pkgs文件夹拷贝过来,例如B中的/usr/local/anaconda3/envs/tf和/usr/local/anaconda3/pkgs复制到新环境中。

下载的目录上传到新的环境中,如果新旧两台服务器是连通的,可以直接使用scp命令在linux服务器之间传文件,如果两台服务器不连通,只能通过下载再上传的方式拷贝。

服务器B的待迁移环境/usr/local/anaconda3/envs/tf压缩为tf.zip上传到A服务器。

服务器B的环境/usr/local/anaconda3/pkgs压缩为pkgs.zip上传到A服务器。

将上传的tf环境解压缩至A服务器/usr/local/anaconda3/envs目录下,它会自动识别。

将A服务器的/usr/local/anaconda3/pkgs备份为pkgs_bak,解压新上传的pkgs目录代替原目录。

注意:

到这里还没结束,source activate tf后还是会报错,需要进入anaconda的envs/tf/bin目录下,把python的软连接改为指向python3.6即可,旧服务器B的tf环境就是3.6版本。

进入目录

cd /usr/local/anaconda3/envs/tf/bin

rm python

ln -s python python3.6

如果source activate tf时报错,类似这样PackagesNotFoundError: The following packages are missing from the target environment:   - deactivate-gxx_linux-64

查看复制过来的tf目录是否有执行权限。

经查看,/usr/local/anaconda3/envs/tf/bin的权限没有执行权限更改即可:

chmod -R 744 /usr/local/anaconda3/envs/tf/bin