Conda虚拟环境在不同电脑间的迁移
在线迁移
在目标设备可以正常联网的情况下,导出pip清单然后重新在线下载包、安装。缺点是还需要重新花时间下载,有些包的版本可能会找不到。
# 源电脑导出 conda 清单
conda {env_name} export > {conda_list_name}
conda env export > conda.yaml
conda.yaml内容如下
name: tra
channels:
- defaults
dependencies:
- ca-certificates=2021.10.26=haa95532_2
- certifi=2021.10.8=py37haa95532_0
- openssl=1.1.1l=h2bbff1b_0
- pip=21.2.4=py37haa95532_0
- python=3.7.11=h6244533_0
- setuptools=58.0.4=py37haa95532_0
- sqlite=3.37.0=h2bbff1b_0
- vc=14.2=h21ff451_1
- vs2015_runtime=14.27.29016=h5e58377_2
- wheel=0.37.1=pyhd3eb1b0_0
- wincertstore=0.2=py37haa95532_2
- pip:
- albumentations==1.1.0
- charset-normalizer==2.1.1
- colorama==0.4.4
- conda-pack==0.6.0
- cycler==0.11.0
- docopt==0.6.2
- et-xmlfile==1.1.0
- fonttools==4.28.5
- idna==3.3
- imageio==2.16.0
- importlib-metadata==4.12.0
- jinja2==3.1.2
- joblib==1.1.0
- kiwisolver==1.3.2
- llvmlite==0.37.0
- loguru==0.6.0
- markupsafe==2.1.1
- matplotlib==3.5.1
- networkx==2.6.3
- numba==0.54.1
- numpy==1.20.3
- opencv-python==3.4.3.18
- openpyxl==3.0.10
- packaging==21.3
- pandas==1.3.5
- pillow==9.0.0
- pipreqs==0.4.11
- prettytable==3.3.0
- pyecharts==1.9.1
- pyparsing==3.0.6
- python-dateutil==2.8.2
- pytz==2022.2.1
- pywavelets==1.2.0
- pyyaml==6.0
- qudida==0.0.4
- requests==2.28.1
- scikit-image==0.19.2
- scikit-learn==1.0.2
- scipy==1.7.3
- simplejson==3.17.6
- six==1.16.0
- threadpoolctl==3.1.0
- tifffile==2021.11.2
- tqdm==4.62.3
- typing-extensions==4.1.1
- urllib3==1.26.11
- wcwidth==0.2.5
- win32-setctime==1.1.0
- xlrd==2.0.1
- xlwt==1.3.0
- yarg==0.1.9
- you-get==0.4.1555
- zipp==3.8.1
prefix: D:\Program\miniconda3\envs\tra
以上代码会把pip list下的所有包都包含进来,如果想只打包某个项目的包可以使用pipreqs。
# 源电脑导出 pip 清单
pipreqs {project_path} {requirements_name}
pipreqs ./ --encoding=utf8
# requirements.txt
folium==0.13.0
imageio==2.16.0
loguru==0.6.0
matplotlib==3.5.1
numba==0.54.1
opencv_python==3.4.3.18
pandas==1.3.5
pyaudio==0.2.12
pyecharts==1.9.1
pyparsing==3.0.6
PyYAML==6.0
requests==2.28.1
scikit_image==0.19.2
scipy==1.7.3
skimage==0.0
sympy==1.11.1
目标电脑新建虚拟环境重新安装库
conda env create -f conda.yaml
离线迁移
在目标电脑不能联网的情况下需要把源电脑conda环境整理打包迁移,在目标电脑上将环境解压到conda环境的保存路径下,如果解压到自己设定的路径,还需要将路径保存到conda环境保存路径的列表中
# 源电脑打包
pip install conda-pack
conda pack -n {env_name} -o {name.tar.gz}
conda pack
# 目标电脑解压
tar -xzf {name.tar.gz} -C {path/env_name}
tar - E:/tra.tat.gz -c D:/CODE/conda_env/tra
# 将路径添加到conda环境的保存路径
conda config --add env_dirs D:/CODE/conda_env
# conda env list就可以看到虚拟环境了