首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >请把我的爱(conda环境)搬回你的家

请把我的爱(conda环境)搬回你的家

作者头像
小洁忘了怎么分身
发布2025-11-12 13:13:58
发布2025-11-12 13:13:58
160
举报
文章被收录于专栏:生信星球生信星球

今天是生信星球陪你的第1055天

公众号里的文章大多数需要编程基础,如果因为代码看不懂,而跟不上正文的节奏,可以来找我学习,相当于给自己一个新手保护期。我的课程都是循环开课,点进去咨询微信,随时可以报名↓ 生信分析直播课程(每月初开一期) 生信新手保护学习小组长期报名中(每月一期) 单细胞陪伴学习小组(每月一期)

0.问题

用conda install安装python或者linux的软件和包,会自动安装你的python版本选择能够适配的最新版本。这就导致一个问题:在不同的时间运行相同的代码,会出现版本差别!进而在使用相同代码的时候产生报错。今天配好的环境,过几个月发现咔咔报错咋办呢。

比起自己花更多时间区解决版本之间的兼容性问题,最好的办法是,重现老师的环境!

1.老师把自己的环境导出为txt或者yml

省流:我一般用yml!

txt和yml的区别:

  • YAML (.yml) 文件包含更完整的环境信息,包括环境名称、通道(channels)和依赖项的平台特定信息(如Linux、macOS、Windows)。它更适合跨平台复现,但可能需要针对特定平台进行调整。
  • Text (.txt) 文件通常只包含包列表(包名和版本),不包含环境名称或通道信息。它更轻量,但可能缺乏一些细节。

注意:我的电脑是windows,安装了ubuntu子系统,可以和linux服务器通用,但为了适配mac,yml文件里需要去掉linux专属的一些软件,这个动作我会让AI做,做完拿到mac电脑上检查一下能否正常安装、使用,不能就再让AI改!哈哈

代码语言:javascript
复制
conda activate sc

# 导出环境为txt文件
conda list --export > requirements.txt

# 导出环境为YAML文件
conda env export > environment.yml

直观的比较一下二者之间的区别吧:

这是txt:

这是yml:

2.学生下载txt或者yml,在自己电脑上安装

就相当于给了所有软件及其版本的清单,让conda照着这个清单去装。

代码语言:javascript
复制
# 从txt文件创建环境
conda create --name sc --file requirements.txt

# 从YAML文件创建环境
conda env create -f environment.yml

用txt创建环境,环境名称可以自定义

用yml创建环境,环境名称就不需要写了,文件里面已经包含了。

3.我这里有两套环境你拿去玩一下

sc2.yml

sc2_for_mac.yml

sc4.yml

sc4_for_mac.yml

其中sc2用于除了pyscenic之外的其他python单细胞分析,sc4用于pyscenic。是我反复调试才成功的嘞!请珍惜这个愿意分享自己劳动成果的我哈哈哈。

在"生信星球"聊天框回复“yml1055”即可获得这几个文件。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-09-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信星球 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0.问题
  • 1.老师把自己的环境导出为txt或者yml
  • 2.学生下载txt或者yml,在自己电脑上安装
  • 3.我这里有两套环境你拿去玩一下
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档