Conda環(huán)境導出與導入的實現(xiàn)
博主在進行實驗過程中由于需要頻繁更換服務器,而每次更換服務器后便少不了進行環(huán)境配置,盡管有requirement.txt的幫助,配置環(huán)境時也是需要費一番功夫。因此想到conda的環(huán)境導出與導入功能。
具體過程如下:
環(huán)境導出
# -n 后面的參數(shù)是服務器A要克隆的環(huán)境名稱,> 后跟著我們要保存的路徑文件名稱 conda env export -n yolos > /data/yolos.yaml
如下:
ubuntu@VM-0-17-ubuntu:/$ conda env export -n yolos > /data/yolos.yaml
當然我么也可以先切換到我們想要導出的conda環(huán)境中再進行導出。
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
隨后我么只需要將該文件上傳到另一個服務器上后執(zhí)行導入環(huán)境命令即可。
文件互傳
先前博主互傳兩文件是都需要先從一個服務器上下載到本地,隨后再上傳到另一個服務器上,那么可不可以直接兩個服務器之間互傳呢?肯定是可以的。
兩個服務器間互傳文件首先可以使用wget命令:如下
循環(huán)往復一直報如下錯誤:百度了下也沒有找到解決方法。
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環(huán)境了。
conda env create -f data/yolos.yaml
需要給.conda文件寫入權限:
sudo chmod a+w .conda
再次執(zhí)行:報錯了,這個是由于該環(huán)境中需要配置CUDA算子導致的。
看來對于這個conda環(huán)境沒有什么捷徑可走,但對一些不需要配置CUDA算子的cuda環(huán)境,如另一個yolov7的cuda環(huán)境,就可以正常運行。
但該方法如果使用默認的下載源的話所需時間可能較長。
到此這篇關于Conda環(huán)境導出與導入的實現(xiàn)的文章就介紹到這了,更多相關Conda環(huán)境導出導入內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家
相關文章
python使用urlparse分析網(wǎng)址中域名的方法
這篇文章主要介紹了python使用urlparse分析網(wǎng)址中域名的方法,涉及Python使用urlparse模塊操作URL的技巧,需要的朋友可以參考下2015-04-04一文了解python 3 字符串格式化 F-string 用法
本文介紹在python 3 編程中,如何進行字符串格式化。介紹了F-string的用法,通過實例代碼給大家介紹的非常詳細,對大家的工作或學習具有一定的參考借鑒價值,需要的朋友參考下吧2020-03-03Python的Flask框架中的Jinja2模板引擎學習教程
這篇文章主要介紹了Python的Flask框架中的Jinja2模板引擎學習教程,Jinja2模板引擎的用法也是Flask的Web開發(fā)中的重要知識,需要的朋友可以參考下2016-06-06