利用Anaconda进行R语言环境的管理。
什么是Anaconda
Anaconda 是一种Python语言的免费增值开源发行版,用于进行大规模数据处理、预测分析,和科学计算,致力于简化包的管理和部署。Anaconda不等同于Python,Anaconda也为R语言提供了包的管理和部署。安装anaconda让我们省去了大量下载模块包的时间,更加方便。由于其安装教程较多,就不展开介绍,自行搜索。
为当前环境安装 “R Essentials”
conda install -c r r-essentials#终端输入
或者创建 “R essentials” 的新环境
conda create -n my-r-env -c r r-essentials#终端输入
conda安装R包
conda install -c r r-dplyr#终端输入
如果以上搞不定,可以访问anaconda cloud, 搜索对应的包,会给出R包安装方法
加快下载速度
发现“中国科学技术大学”(USTC Open Source Software Mirror)有提供anaconda的镜像源,按照如下命令配置anaconda后,下载速度明显加快!
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
加载rstudio
WIN+R 输入cmd运行终端,在终端输入以下代码
rstudio
conda环境迁移
Clone
在本地,conda 可以方便地创建环境的快照或者备份:
conda create --name snapshot --clone myenv
Spec List
如果需要在具有 相同操作系统 的计算机之间复制环境,则可以生成 spec list。
生成 spec list 文件:
conda list --explicit > spec-list.txt
重现环境:
conda create --name python-course --file spec-list.txt
Environment.yml
也可以使用 -export 选项生成一个 environment.yml 文件,以在 不同的平台和操作系统之间 复现项目环境。 spec list 文件和 environment.yml 文件之间的区别在于: environment.yml 文件不针对特定操作系统,并且使用YAML格式。 environment.yml 仅列出了软件包名称,由 conda 基于软件包的名称构建环境。 另一个区别是 -export 还包括使用pip安装的软件包,而 spec list 则没有。
导出 environment.yml 文件:
conda env export > environment.yml
注意:如果当前路径已经有了 environment.yml 文件,conda 会重写这个文件
重现环境:
conda env create -f environment.yml
Conda Pack
Conda-pack 是一个命令行工具,用于打包 conda 环境,其中包括该环境中安装的软件包的所有二进制文件。 当您想在有限或没有网络访问的系统中重现环境时,此功能很有用。上面的方法均从其各自的存储库下载软件包以创建环境。而此方法不需要。注意,conda-pack 指定平台和操作系统,目标计算机必须具有与源计算机相同的平台和操作系统。
要安装 conda-pack,请确保您位于 root 或 base 环境中,以便 conda-pack 在子环境中可用。
conda install -c conda-forge conda-pack
打包一个环境:
Pack environment my_env into my_env.tar.gz
conda pack -n my_env
Pack environment my_env into out_name.tar.gz
conda pack -n my_env -o out_name.tar.gz
Pack environment located at an explicit path into my_env.tar.gz
conda pack -p /explicit/path/to/my_env
重现环境:
Unpack environment into directory
my_env
mkdir -p my_env tar -xzf my_env.tar.gz -C my_env
Use Python without activating or fixing the prefixes. Most Python
libraries will work fine, but things that require prefix cleanups
will fail.
./my_env/bin/python
Activate the environment. This adds
my_env/bin
to your path
source my_env/bin/activate
Run Python from in the environment
(my_env) $ python
Cleanup prefixes from in the active environment.
Note that this command can also be run without activating the environment
as long as some version of Python is already installed on the machine.
(my_env) $ conda-unpack