antiqueeeee

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

背景

写Python的同僚,有Conda管理环境的习惯,偶然需要用到R相关的环境,还不想单独去下R软件,没弄明白R的第三方库的安装方式,这里提供一种较为能被人接受的解决方案,使用Mamba来安装R相关的环境。

整体思路

先创建一个仅包含Mamba的Conda环境,再创建一个项目环境,即包含Python又包含R,使用Mamba环境来向项目环境中安装R相关的库,Python相关的内容依旧使用pip等方式安装。

操作流程

  1. (可选)只使用conda-forge通道,开启严格优先级
# 把 conda-forge 设为唯一通道并开启 strict 优先级,可减少依赖冲突
conda config --add channels conda-forge
conda config --set channel_priority strict
  1. 创建一个只包含mamba的“工具环境”,激活该环境
# 用 conda 创建 mamba-env,并安装 mamba
conda create -n mamba-env -c conda-forge mamba -y
conda activate mamba-env

印象中踩过这样的坑,因为Mamba环境中安装的内容过多,导致查询依赖时需要的时间比较长,因此干脆弄一个环境只有mamba的空环境。

  1. 用mamba创建同时包含Python和R的目标环境,版本可按需更改
mamba create -n  env_name -c conda-forge python=3.11 r-base=4.3 r-essentials 

或者使用yaml

# environment.yml
name: env_name
channels:
  - conda-forge
dependencies:
  - python=3.11
  - r-base=4.3
  - r-essentials
mamba env create -f environment.yml
  1. 在mamba环境中向项目环境安装R包
# 把需要的 R 包装进 precise-drug 环境
mamba install -n env_name -c conda-forge r-rxode2 r-dplyr r-ggplot2 r-lubridate

如果某个R包你不确定名字,可以先search然后再根据结果安装

# 仍在 mamba-env 环境中
mamba search -c conda-forge r-posologyr

如果发现conda-forge中没有这个包,可以尝试从CRAN中安装

conda run -n env_name --no-capture-output R -e \
"install.packages('...')"
  1. Python环境
    Python的相关内容就正常安装即可,不过多赘述。
posted on 2025-11-12 14:40  Antiqueeeee  阅读(13)  评论(0)    收藏  举报