当前位置: 首页 > news >正文

Conda跨平台环境迁移

问题描述:

在一台Ubuntu电脑上完全复刻在Windows中通过conda创建的环境。

导出环境

在Windows机器上,需要导出当前conda环境的配置。这将生成一个environment.yml文件,其中包含所有已安装的包和版本信息。

打开Anaconda Prompt(或任何你使用的命令行界面),然后运行以下命令来导出环境:

conda env export --name <env_name> > environment.yml

这里 <env_name> 是在Windows上创建的conda环境的名字。

复制 environment.yml 文件

将生成的environment.yml文件复制到目标ubuntu机器上。可以使用USB驱动器、网络共享或者通过SSH传输文件。

在Ubuntu上安装conda

如果ubuntu上还没有安装Miniconda,需要先安装,可以从Miniconda的官方网页下载适合Linux的安装脚本,或者从清华镜像等其他可信的镜像站点下载。然后运行安装脚本并按照提示操作。

创建新环境

在Ubuntu上,使用environment.yml文件来创建与Windows上相同的环境。在终端中运行以下命令:

conda env create -f environment.yml

这将读取environment.yml文件并创建一个具有相同包和版本的新环境。

激活新环境

创建完环境后,你需要激活它才能开始使用:

conda activate <new_env_name>

这里 <new_env_name> 是在Ubuntu上创建的环境名字,通常这会和Windows上的环境名字相同。

注意事项

  • 确保在两台机器上使用的Miniconda版本尽量一致,以避免潜在的兼容性问题。

  • 某些包可能在不同的操作系统上有不同的构建,因此在Ubuntu上创建环境时可能会遇到一些差异或错误。如果出现这种情况,需要手动解决这些依赖关系。如下:

    • (base) root@xxxxxxxxxxxxxxxxx:~/Desktop# conda env create -f environment.yml
      Collecting package metadata (repodata.json): done
      Solving environment: failedResolvePackageNotFound:certifi==2021.5.30=py36haa95532_0
      vc==14.2=h2eaa2aa_1
      pip==21.2.2=py36haa95532_0
      setuptools==58.0.4=py36haa95532_0
      vs2015_runtime==14.29.30133=h43f2093_3
      python==3.6.13=h3758d61_0
      wincertstore==0.2=py36h7fe50ca_0
      sqlite==3.45.3=h2bbff1b_0
      
      • 修改 environment.yml 文件

        打开environment.yml文件,移除所有只在Windows上存在的包和版本号,例如vc, vs2015_runtime等。同时,对于Python和其他基础库,如sqlite,确保它们没有特定于Windows的构建标签。

        原本的条目可能类似于:

        dependencies:- python=3.6.13=h3758d61_0- sqlite=3.45.3=h2bbff1b_0
        

        应该修改为:

        dependencies:- python=3.6- sqlite
        

        这样Conda将在解决依赖关系时选择适用于Linux的默认构建。

        添加 Linux 兼容的包

        对于像certifipipsetuptoolswincertstore这样的包,确保它们没有Windows特有的构建标签。在environment.yml文件中,只需要指定包名即可,例如:

        dependencies:- certifi- pip- setuptools
        

        尝试再次创建环境

        保存并关闭environment.yml文件。再次运行:

        conda env create -f environment.yml
        

        如果仍有包无法找到,检查它们是否真的有Linux版本,或者是否有替代的包可以满足相同的功能需求。

  • 如果environment.yml文件中的某些包在Ubuntu上不可用,需要找到合适的替代品或者从源代码编译。

http://www.lryc.cn/news/387224.html

相关文章:

  • 全面掌握 Jackson 序列化工具:原理、使用与高级配置详解
  • mathtype7.4永久激活码密钥及2024最新破解版注册码附安装教程
  • 【SQL】优化慢 SQL的简单思路
  • 禁止浏览器对input的自动填充和填充提示(适用于谷歌、火狐、Edge(原IE浏览器)等常见浏览器)
  • 鸿蒙项目实战-月木学途:1.编写首页,包括搜索栏、轮播图、宫格
  • 深入浅出:npm常用命令详解和实践
  • 山东大学-科技文献阅读与翻译(期末复习)(选择题+翻译)
  • 二分查找:自定义 upper_bound、lower_bound
  • Java 搭建个人博客基本框架
  • 停车场智能化管理:车位引导系统实现车位资源优化与数据分析
  • 梯度下降法
  • 【高考志愿】光学工程
  • Golang | Leetcode Golang题解之第205题同构字符串
  • 【Unity】RPG2D龙城纷争(五)关卡编辑器之地图编辑
  • 音视频入门基础:H.264专题(4)——NALU Header:forbidden_zero_bit、nal_ref_idc、nal_unit_type简介
  • 基于深度学习的人脸关键点检测
  • C++自定义智能指针
  • 一个合理的前端应用文件结构
  • spring和springboot的关系是什么?
  • 智慧校园-医务管理系统总体概述
  • AUTOSAR汽车电子嵌入式编程精讲300篇-智能网联汽车CAN总线-基于电压信号的CAN总线入侵检测系统设计与实现
  • BLACKBOX.AI:解锁编程学习新纪元,加速开发的AI得力助手
  • 实验三 时序逻辑电路实验
  • 云计算基础技术
  • 【动态规划】2306. 公司命名
  • 熟练掌握爬虫技术
  • 基于Spring Boot与Vue的智能房产匹配平台+文档
  • 【VMware】VMware 开启的虚拟机无法联网的解决方案
  • linux——线程
  • install nebula with source