容器重启后,Conda文件完整保存(虚拟环境、库包),如何重新安装conda并迁移之前的虚拟环境

本文主要是介绍容器重启后,Conda文件完整保存(虚拟环境、库包),如何重新安装conda并迁移之前的虚拟环境,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Vim安装

容器重启后默认是vi,升级vim,执行命令

apt install -y vim

安装 Anaconda

1. 下载Anaconda

其他版本请查看Anaconda官方库

wget https://mirrors.bfsu.edu.cn/anaconda/archive/Anaconda3-2023.03-1-Linux-x86_64.sh --no-check-certificate

2. 安装
执行命令

bash Anaconda3-2023.03-1-Linux-x86_64.sh

一直enter,直到选择安装目录,本次安装我选择的目录是 /opt/data/conda,如果将来容器重启,我会保持安装在这个目录。

3. conda激活

执行命令

source ~/.bashrc

如果需要修改bashrc文件,执行

vim ~/.bashrc

查看Conda激活模块参数

在这里插入图片描述

source ~/.bashrc 后自动进入base环境,此时才可以使用 conda – 命令

在这里插入图片描述

4. 虚拟环境安装

此时你可以重新创建新的虚拟环境

只需要执行命令

conda create -n your_env python=3.8

创建完成后进入你的环境

conda activate your_env

退出环境执行

conda deactivate

5. 迁移虚拟环境

迁移虚拟环境的方法有很多,有打包迁移,有复制迁移,基本思想就是将你原来在envs/下的你的环境目录复制到conda新安装的目录的envs下面

这里介绍复制迁移

原来的环境在 /opt/data/private/conda/envs/your_env

现在需要迁移到 /opt/data/conda/envs/

首先第一步是执行复制命令

cp -r /opt/data/private/conda/envs/your_env /opt/data/conda/envs/

这样在/opt/data/conda/envs/下面就会有新的文件夹your_env

然后就可以直接激活环境

conda activate your_env

如果有这么顺利就好,此时你会发现编译器不匹配

在这里插入图片描述

这里需要对你的环境的编译器进行修改

执行命令

conda env config vars set CONDA_PYTHON_EXE=/opt/data/conda/bin/python

/opt/data/conda/bin/python就是新安装的conda目录下的编译器,注意不是虚拟环境下的哈,就是conda安装目录下的,这个直接复制即可,无需改变

执行后需要重新激活环境

conda activate your_env

这里还会遇到一个问题,就是pip的问题

需要更改虚拟环境下的pip文件

一共需要修改3个pip文件

分别是pip,pip3,pip3.8(如果你的虚拟环境安装的是3.8,如果是3.9则换成3.9)

分别执行

vim /opt/data/conda/envs/your_env/bin/pip
vim /opt/data/conda/envs/your_env/bin/pip3
vim /opt/data/conda/envs/your_env/bin/pip3.8

三个文件长的一样,修改他们的第一行

在这里插入图片描述

将第一行改为上述这样,即 /opt/data/conda/envs/your_env/bin/python/3.8,/opt/data/conda/envs/是conda新安装目录下的虚拟环境目录。

此时迁移完毕,你可以正常使用了,无需重新下载包,省去很多时间


写于2023.12.4(4090服务器关机重启后的处理)

这篇关于容器重启后,Conda文件完整保存(虚拟环境、库包),如何重新安装conda并迁移之前的虚拟环境的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/483090

相关文章

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

如何将Tomcat容器替换为Jetty容器

《如何将Tomcat容器替换为Jetty容器》:本文主要介绍如何将Tomcat容器替换为Jetty容器问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat容器替换为Jetty容器修改Maven依赖配置文件调整(可选)重新构建和运行总结Tomcat容器替

MySQL中慢SQL优化方法的完整指南

《MySQL中慢SQL优化方法的完整指南》当数据库响应时间超过500ms时,系统将面临三大灾难链式反应,所以本文将为大家介绍一下MySQL中慢SQL优化的常用方法,有需要的小伙伴可以了解下... 目录一、慢SQL的致命影响二、精准定位问题SQL1. 启用慢查询日志2. 诊断黄金三件套三、六大核心优化方案方案

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

Python容器类型之列表/字典/元组/集合方式

《Python容器类型之列表/字典/元组/集合方式》:本文主要介绍Python容器类型之列表/字典/元组/集合方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 列表(List) - 有序可变序列1.1 基本特性1.2 核心操作1.3 应用场景2. 字典(D

Java使用Mail构建邮件功能的完整指南

《Java使用Mail构建邮件功能的完整指南》JavaMailAPI是一个功能强大的工具,它可以帮助开发者轻松实现邮件的发送与接收功能,本文将介绍如何使用JavaMail发送和接收邮件,希望对大家有所... 目录1、简述2、主要特点3、发送样例3.1 发送纯文本邮件3.2 发送 html 邮件3.3 发送带

一文详解kafka开启kerberos认证的完整步骤

《一文详解kafka开启kerberos认证的完整步骤》这篇文章主要为大家详细介绍了kafka开启kerberos认证的完整步骤,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、kerberos安装部署二、准备机器三、Kerberos Server 安装1、配置krb5.con