在线迁移

在目标设备可以正常联网的情况下,导出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就可以看到虚拟环境了