Conda环境导出与导入的实现

目录
  • 环境导出
  • 文件互传
    • rsync命令

博主在进行实验过程中由于需要频繁更换服务器,而每次更换服务器后便少不了进行环境配置,尽管有requirement.txt的帮助,配置环境时也是需要费一番功夫。因此想到conda的环境导出与导入功能。

具体过程如下:

环境导出

# -n 后面的参数是服务器A要克隆的环境名称,> 后跟着我们要保存的路径文件名称
conda env export -n yolos > /data/yolos.yaml

如下:

ubuntu@VM-0-17-ubuntu:/$ conda env export -n yolos > /data/yolos.yaml

当然我么也可以先切换到我们想要导出的conda环境中再进行导出。

ubuntu@VM-0-17-ubuntu:/$ source activate yolos
(yolos) ubuntu@VM-0-17-ubuntu:/$ conda env export >/data/dino.yaml

导出的文件如下:

name: yolos
channels:
  - defaults
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - blas=1.0=mkl
  - ca-certificates=2023.01.10=h06a4308_0
  - certifi=2022.12.7=py37h06a4308_0
  - cudatoolkit=10.1.243=h6bb024c_0
  - freetype=2.12.1=h4a9f257_0
  - giflib=5.2.1=h5eee18b_3
  - intel-openmp=2021.4.0=h06a4308_3561
  - jpeg=9e=h7f8727e_0
  - lcms2=2.12=h3be6417_0
  - ld_impl_linux-64=2.38=h1181459_1
  - lerc=3.0=h295c915_0
  - libdeflate=1.17=h5eee18b_0
  - libffi=3.4.2=h6a678d5_6
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libpng=1.6.37=hbc83047_0
  - libstdcxx-ng=11.2.0=h1234567_1
  - libtiff=4.5.0=h6a678d5_2
  - libwebp=1.2.4=h11a3e52_1
  - libwebp-base=1.2.4=h5eee18b_1
  - lz4-c=1.9.4=h6a678d5_0
  - mkl=2021.4.0=h06a4308_640
  - mkl-service=2.4.0=py37h7f8727e_0
  - mkl_fft=1.3.1=py37hd3c417c_0
  - mkl_random=1.2.2=py37h51133e4_0
  - ncurses=6.4=h6a678d5_0
  - ninja=1.10.2=h06a4308_5
  - ninja-base=1.10.2=hd09550d_5
  - numpy-base=1.21.5=py37ha15fc14_3
  - openssl=1.1.1t=h7f8727e_0
  - pip=22.3.1=py37h06a4308_0
  - python=3.7.16=h7a1cb2a_0
  - readline=8.2=h5eee18b_0
  - setuptools=65.6.3=py37h06a4308_0
  - six=1.16.0=pyhd3eb1b0_1
  - sqlite=3.40.1=h5082296_0
  - tk=8.6.12=h1ccaba5_0
  - wheel=0.38.4=py37h06a4308_0
  - xz=5.2.10=h5eee18b_1
  - zlib=1.2.13=h5eee18b_0
  - zstd=1.5.2=ha4553b6_0
  - pip:
      - addict==2.4.0
      - charset-normalizer==3.1.0
      - cloudpickle==2.2.1
      - coloredlogs==15.0.1
      - cycler==0.11.0
      - cython==0.29.33
      - filelock==3.9.0
      - flatbuffers==23.3.3
      - fonttools==4.38.0
      - huggingface-hub==0.13.2
      - humanfriendly==10.0
      - idna==3.4
      - importlib-metadata==6.0.0
      - kiwisolver==1.4.4
      - matplotlib==3.5.3
      - mpmath==1.2.1
      - multiscaledeformableattention==1.0
      - numpy==1.21.6
      - nvidia-cublas-cu11==11.10.3.66
      - nvidia-cuda-nvrtc-cu11==11.7.99
      - nvidia-cuda-runtime-cu11==11.7.99
      - nvidia-cudnn-cu11==8.5.0.96
      - onnx==1.13.1
      - onnxruntime==1.14.1
      - opencv-python==4.7.0.72
      - packaging==23.0
      - pandas==1.3.5
      - pillow==9.4.0
      - protobuf==3.20.3
      - pycocotools==2.0.6
      - pyparsing==3.0.9
      - python-dateutil==2.8.2
      - pytz==2022.7.1
      - pyyaml==6.0
      - requests==2.28.2
      - scipy==1.7.3
      - seaborn==0.12.2
      - submitit==1.4.5
      - sympy==1.10.1
      - termcolor==2.2.0
      - timm==0.6.12
      - torch==1.13.1
      - torchvision==0.14.1
      - tqdm==4.65.0
      - typing-extensions==4.5.0
      - urllib3==1.26.14
      - yapf==0.32.0
      - zipp==3.15.0
prefix: /home/ubuntu/.conda/envs/yolos

随后我么只需要将该文件上传到另一个服务器上后执行导入环境命令即可。

文件互传

先前博主互传两文件是都需要先从一个服务器上下载到本地,随后再上传到另一个服务器上,那么可不可以直接两个服务器之间互传呢?肯定是可以的。

两个服务器间互传文件首先可以使用wget命令:如下
循环往复一直报如下错误:百度了下也没有找到解决方法。

ubuntu@VM-0-5-ubuntu:~/data$ wget ftp://42.194.134.136:22//data/yolos.yaml
--2023-03-18 10:38:40--  ftp://42.194.134.136:22//data/yolos.yaml
           => ‘yolos.yaml'
Connecting to 42.194.134.136:22... connected.
Error in server response. Closing.
Retrying.

wget命令失败

rsync命令

将目标服务器文件下载到本服务器。

rsync ubuntu@42.194.134.136:/data/yolos.yaml /home/ubuntu/data/

OK成功,需要注意的是需要输入目标服务器的密码

将本服务器文件上传到目标服务器

rsync /data/yolos.tyaml ubuntu@192.168.0.10:/home/ubuntu/data

文件上传成功后我们便可导入conda环境了。

conda env create -f data/yolos.yaml

需要给.conda文件写入权限:

sudo chmod a+w .conda

再次执行:报错了,这个是由于该环境中需要配置CUDA算子导致的。

看来对于这个conda环境没有什么捷径可走,但对一些不需要配置CUDA算子的cuda环境,如另一个yolov7的cuda环境,就可以正常运行。
但该方法如果使用默认的下载源的话所需时间可能较长。

到此这篇关于Conda环境导出与导入的实现的文章就介绍到这了,更多相关Conda环境导出导入内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们

(0)

相关推荐

  • Anaconda超详细保姆级安装配置教程

    一.什么是Anaconda? Anaconda,中文是大蟒蛇,是一个开源的Anaconda是专注于数据分析的Python发行版本,包含了conda.Python等190多个科学包及其依赖项. 为什么我们配置环境的第一步就是安装Anaconda呢? 包含conda:conda是一个环境管理器,其功能依靠conda包来实现,该环境管理器与pip类似,非常常见且强大. 安装大量工具包:Anaconda会自动安装一个基本的python,该python的版本Anaconda的版本有关.该python下已经

  • conda配置python虚拟环境的实现步骤

    目录 一.创建python虚拟环境 二.配置刚创建的虚拟环境 pytorch安装(gpu版本和cpu版本的安装) 三.将虚拟环境配置到相应项目 一.创建python虚拟环境 首先选中要配置环境的文件如下: 在此处输入cmd按回车此处我创建一个环境名为hands3dtext,环境版本为3.7.2的初始环境 conda create -n hands3dtext python==3.7.2 创建成功如下: 二.配置刚创建的虚拟环境 首先激活刚创建的虚拟环境 conda activate hands3

  • Conda中环境迁移到另一个服务器的实现

    1.这是我自己在网上尝试过的成功的一个方法 首先在你有环境的服务器中安装conda-pack pip install conda-pack 2.打包环境 conda pack -n my_env //my_env为环境名 打包后的压缩包在当前目录,把他下载后(我的大概有1个G)上传到另一个服务器比如我需要打包迁移到另一个服务器的环境是 “baseline”,则会产生“baseline.tar.gz”这个压缩包 3. 在另一台服务器上需要首先安装过conda(这里不做详细介绍)将上述得到的base

  • Pip install和Conda install的使用

    版本一 conda install xxx:这种方式安装的库都会放在/Users/orion-orion/miniforge3/pkgs目录下.我们在我们的虚拟环境中要用到或下载时先到该路径下去找,若有则直接将其复制到我们的虚拟环境中包得存放位置: ~/site-packages/.若没有,则先下载到/anoconda3/pkgs,在复制到虚拟环境包的路径下. pip install xxx:这是就要两种情况,一种情况就是此时使用的是conda中安装的python,那么xxx会被安装到/User

  • 解决anaconda安装pytorch报错找不到包的问题

    目录 前言 状况描述: 问题描述 解决办法: 前言 使用anaconda 命令安装pytorch包的问题,以下给出解决办法. 状况描述: 由于是第一次接触安装,看了很多篇文章,也遇到了一些坑,在此总结一下. 安装pytorch,从硬件上分为2个版本,一个是cpu,一个是gpu(显卡).gpu版本可以加速训练效果. 由于本人的电脑比较旧,显卡是rtx1050,我安装了cuda9.0版本+cudnn+pytorch(torch+torchvision) 本人安装的是gpu版本的,在这个过程中,走了一

  • tensorflow基于Anaconda环境搭建的方法步骤

    目录 1.简介 2.在Anaconda环境下搭建TensorFlow - 安装Anaconda 创建一个新的Anaconda环境 激活新的环境 安装TensorFlow 验证TensorFlow安装 安装Jupyter Notebook 1.简介 TensorFlow是一个由Google Brain团队开发的开源软件库,用于各种人工智能和机器学习应用,包括神经网络.深度学习.强化学习等.TensorFlow提供了一个灵活的编程框架,可用于创建各种类型的机器学习模型,如分类.回归.聚类.语音识别.

  • anaconda中安装的python环境中没有pip3的问题及解决

    目录 anaconda中安装的python环境中没有pip3 找到安装anaconda的文件夹 点击envs 发现了安装的三个虚拟环境 打开tf的虚拟环境下的Scripts文件夹 通过cmd进入到这个文件夹 然后执行 easy_install-3.5.exe pip 总结 anaconda中安装的python环境中没有pip3 在使用anaconda配置的python环境时,发现在python环境中并没有安装pip3的包,只有pip的 找到安装anaconda的文件夹 点击envs (利用ana

  • 如何在conda虚拟环境中配置cuda+cudnn+pytorch深度学习环境

    首先,我们要明确,我们是要在虚拟环境中安装cuda和cuDNN!!!只需要在虚拟环境中安装就可以了. 下面的操作默认你安装好了python 一.conda创建并激活虚拟环境 前提:确定你安装好了anaconda并配置好了环境变量,如果没有,网上有很多详细的配置教程,请自行学习 在cmd命令提示符中输入conda命令查看anaconda 如果显示和上图相同,那么可以继续向下看 1.进入anaconda的base环境 方法1 在cmd命令提示符中输入如下命令 activate 方法2 直接在搜索栏里

  • 详解使用export/import导出和导入docker容器

    本文介绍了使用export/import导出和导入docker容器,分享给大家,具体如下: 1.导出容器 如果要导出本地某个容器,可以使用 docker export 命令,导出容器快照到本地文件. $ sudo docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7691a814370e ubuntu:14.04 "/bin/bash" 36 hours ago Exited (0) 21 hours

  • MySQL数据库结构和数据的导出和导入

    正在看的db2教程是:MySQL数据库结构和数据的导出和导入. 导出要用到MySQL的mysqldump工具,基本用法是: shell> mysqldump [OPTIONS] database [tables] 如果你不给定任何表,整个数据库将被导出. 通过执行mysqldump --help,你能得到你mysqldump的版本支持的选项表. 注意,如果你运行mysqldump没有--quick或--opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据

  • 利用PL/SQL从Oracle数据库导出和导入数据

    本文实例为大家分享了使用PL/SQL从Oracle数据库导出和导入数据的方法,供大家参考,具体内容如下 1.导出数据: 方式一:工具->导出用户对象->导出.sql文件 注:这种方式导出的是建表语句和存储过程语句 方式二:工具->导出表 注: 这里是导出表的结构和数据 第一种方式导出.dmp格式的文件,.dmp是二进制文件,可跨平台,还能包含权限,效率不错,用的最为广泛. 第二种方式导出.sql格式的文件,可用文本编辑器查看,通用性比较好,效率不如第一种,适合小数据量导入导出.尤其注意的

  • 浅析MySQL数据的导出与导入知识点

    很多时候,我们会遇到需要将本机数据库数据导出或者其他数据库数据的导入操作,那么究竟该如何操作呢?本文将介绍MySQL数据的导出与导入,下面以heidisql工具为例讲解. 首先讲解mysql数据的导出. 打开工具heidisql,注意图中标注的1和2,在1处输入主机的ip地址(如果是本地,则地址为127.0.0.1).在2处输入mysql数据库的用户名和密码,其他设定如图所示即可,点击打开进入数据库管理界面. 进入如图所示的管理界面,左边1处可选择数据库,右上2处自动展示所选数据库的数据信息 在

  • mysql如何利用Navicat导出和导入数据库的方法

    MySql是我们经常用到的数据,无论是开发人员用来练习,还是小型私服游戏服务器,或者是个人软件使用,都十分方便.对于做一些个人辅助软件,选择mysql数据库是个明智的选择,有一个好的工具更是事半功倍,对于MySql 的IDE 我推荐Navicat for MySql,现在我就向大家介绍如何利用Navicat for MySql 导出和导入数据. 导出数据库: 打开Navicat ,在我们要到处的数据上面右击鼠标,然后弹出的快捷菜单上点击"转储SQL 文件",在再次弹出的子菜单项中选择第

  • mysql数据库创建账号、授权、数据导出、导入操作示例

    本文实例讲述了mysql数据库创建账号.授权.数据导出.导入操作.分享给大家供大家参考,具体如下: 1.账号创建及授权 grant all privileges on *.* to 'yangxin'@'%' identified by 'yangxin123456' with grant option; privileges:表示将所有权限授予给用户.也可指定具体的权限,如:SELECT.CREATE.DROP等. on:表示这些权限对哪些数据库和表生效,格式:数据库名.表名,这里写"*&qu

  • 详解node和ES6的模块导出与导入

    node的导出与导入 1.node的导出语法 var path = {} module.exports = path 2.node的导入语法 const path = require('path') ES6的导出与导入 1.ES6的导出语法 export default {} (只能暴漏一个成员) export var s = {} export var b = {} (可以暴漏多个成员) 2.ES6的导入语法 import a from '包名(或者是文件路径)' (导入export defa

  • 在jupyter notebook 添加 conda 环境的操作详解

    1. 激活conda环境 source activate cym 2. 安装ipykernel conda install ipykernel 3. 将环境写入notebook的kernel中 python -m ipykernel install --user --name 环境名 --display-name "python 环境名" python -m ipykernel install --user --name cym --display-name "python

  • javascript中导出与导入实现模块化管理教程

    在理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块.但是,在ES6以前,JavaScript一直没有自己模块体系(module),无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来.如果要想在前端做模块化开发,必须依赖第三方框架来实现,如:requireJS与seaJS. javascript中的导出和导入实现模块化管理 requireJS是AMD规范的起源,seaJS是CMD规范的起源,由于两者功能高度重合,后来seaJS不再维护,从此淡出人们的视野,于

  • Docker images导出和导入操作

    之前已配置好基础镜像,其他地方也需要用到这些镜像时怎么办呢? 答案:镜像的导入和导出功能. 1.镜像的保存 [root@wxtest1607 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE tomcat8 3.0 90457edaf6ff 6 hours ago 1.036 GB [root@wxtest1607 lixr]# docker save 9045 > tomcat8-apr.tar [root@wxtest1607 li

随机推荐