自己的开发电脑可以使用网络,生产电脑不能联网,可能就需要用到离线环境迁移这个功能了,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 条评论