Conda环境导出与导入的实现

 更新时间:2023年03月20日 09:57:52   作者:彭祥.  
本文主要介绍了Conda环境导出与导入的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

博主在进行实验过程中由于需要频繁更换服务器,而每次更换服务器后便少不了进行环境配置,尽管有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环境导出导入内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家

相关文章

  • Python正则表达式常用函数总结

    Python正则表达式常用函数总结

    这篇文章主要介绍了Python正则表达式常用函数,结合实例形式总结分析了Python正则表达式常用函数功能、使用方法及相关注意事项,需要的朋友可以参考下
    2017-06-06
  • python Pandas 读取txt表格的实例

    python Pandas 读取txt表格的实例

    下面小编就为大家分享一篇python Pandas 读取txt表格的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • python数据类型之间怎么转换技巧分享

    python数据类型之间怎么转换技巧分享

    在本篇文章里小编给大家分享的是关于python数据类型之间怎么转换实例以及小技巧内容,有兴趣的朋友们参考下。
    2019-08-08
  • Python中的CURL PycURL使用例子

    Python中的CURL PycURL使用例子

    这篇文章主要介绍了Python中的CURL PycURL使用例子,需要的朋友可以参考下
    2014-06-06
  • 如何从csv文件构建Tensorflow的数据集

    如何从csv文件构建Tensorflow的数据集

    这篇文章主要介绍了如何从csv文件构建Tensorflow的数据集,帮助大家更好的理解和使用Tensorflow,感兴趣的朋友可以了解下
    2020-09-09
  • 详解Python各大聊天系统的屏蔽脏话功能原理

    详解Python各大聊天系统的屏蔽脏话功能原理

    这篇文章主要介绍了详解Python各大聊天系统的屏蔽脏话功能原理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。
    2016-12-12
  • PyQt5 窗口切换与自定义对话框的实例

    PyQt5 窗口切换与自定义对话框的实例

    今天小编就为大家分享一篇PyQt5 窗口切换与自定义对话框的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python mysql中in参数化说明

    python mysql中in参数化说明

    这篇文章主要介绍了python mysql中in参数化说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python实现C4.5决策树算法

    python实现C4.5决策树算法

    这篇文章主要为大家详细介绍了python实现C4.5决策树算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • 关于Python中几种队列Queue用法区别

    关于Python中几种队列Queue用法区别

    这篇文章主要介绍了关于Python中几种队列Queue用法区别,queue队列中的put()或者get()方法中都提供了timeout参数,利用这个参数可以有效解决上述消除不能消费和线程一直阻塞问题,需要的朋友可以参考下
    2023-05-05

最新评论