自己的开发电脑可以使用网络,生产电脑不能联网,可能就需要用到离线环境迁移这个功能了,Python语言中离线环境迁移打开有如下3种思路:

1.直接下载离线的whl包,在目标电脑中直接安装

缺点:目标电脑中Python环境不同则很有可能失败

2.利用conda创建

缺点:conda安装包大,需要目标电脑也安装conda,安装过程中可能要改一下.bashrc环境变量

3.直接利用Python自带的虚拟环境管理

缺点:无法修改Python版本,环境固定

但是用conda的优点则是,可以选择Python版本环境,修改环境变得相当容易,只需要支持tar.gz格式的解压即可使用不同环境。

而且,在自己开发的时候,有网络,直接利用网络pip install命令或者conda install命令在线安装环境,然后conda pack命令环境导出,不再需要自己手动去下载哪些包了,到时候在目标主机上直接解压就可以使用这个虚拟环境了。

一、将要迁移环境打包压缩

首先进入正在开发的环境,在虚拟环境中使用输入

conda pack -n venv_name -o output_name.tar.gz

如果提示No command ‘conda pack’,或者说是否命令正确

则尝试使用

conda install -c conda-forge conda-pack

安装完成后重新进行打包。

二、上传迁移环境

U盘拷贝也好,光盘复制也罢,scp命令也好,ftp命令也罢,把导出的output_name.tar.gz想个办法放到目标服务器中。

三、在目标电脑下安装

macOS的目录在 ~/opt/miniconda/envs/(如果使用anaconda则把miniconda替换即可)

mkdir创建一个空文件夹,如mkdir tmpenv

tar -xzvf output_name.tar.gz -C Anaconda3/envs/tmpenv/

解压完成即成功

此时输入

conda env list 或者 conda info –env

已经可以看到了

用conda activate 激活使用即可

 

PS:以上三种方式,均不支持WINDOWS,LINUX/UNIX,等这样跨系统的迁移,也不支持arm X86跨芯片组的迁移,因为这些不同系统和不同架构所安装的第三方库支持包是不一样的。

如果需要这样跨系统迁移,请老老实实多下载一些whl文件,手动安装或者写脚本批量安装

或者就是老老实实写requirements用网络安装的方式


0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用 * 标注