容器重启后,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

相关文章

k8s容器放开锁内存限制问题

《k8s容器放开锁内存限制问题》nccl-test容器运行mpirun时因NCCL_BUFFSIZE过大导致OOM,需通过修改docker服务配置文件,将LimitMEMLOCK设为infinity并... 目录问题问题确认放开容器max locked memory限制总结参考:https://Access

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

MyBatis分页查询实战案例完整流程

《MyBatis分页查询实战案例完整流程》MyBatis是一个强大的Java持久层框架,支持自定义SQL和高级映射,本案例以员工工资信息管理为例,详细讲解如何在IDEA中使用MyBatis结合Page... 目录1. MyBATis框架简介2. 分页查询原理与应用场景2.1 分页查询的基本原理2.1.1 分

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

从入门到精通详解Python虚拟环境完全指南

《从入门到精通详解Python虚拟环境完全指南》Python虚拟环境是一个独立的Python运行环境,它允许你为不同的项目创建隔离的Python环境,下面小编就来和大家详细介绍一下吧... 目录什么是python虚拟环境一、使用venv创建和管理虚拟环境1.1 创建虚拟环境1.2 激活虚拟环境1.3 验证虚

Python自动化处理PDF文档的操作完整指南

《Python自动化处理PDF文档的操作完整指南》在办公自动化中,PDF文档处理是一项常见需求,本文将介绍如何使用Python实现PDF文档的自动化处理,感兴趣的小伙伴可以跟随小编一起学习一下... 目录使用pymupdf读写PDF文件基本概念安装pymupdf提取文本内容提取图像添加水印使用pdfplum