通过R里面的reticulate包桥接使用Windows的conda

2022-03-03 13:24:50 浏览数 (1)

在Windows操作系统使用conda,大家很容易陷入一个可视化界面的误区,就是安装了Anaconda这个exe格式的界面软件。

但是我们常规的的教程都是基于Linux的conda的教程,比如各个用户里面安装自己的conda,每个用户独立操作,安装方法代码如下:

代码语言:javascript复制
# 首先下载文件,20M/S的话需要几秒钟即可
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 接下来使用bash命令来运行我们下载的文件,记得是一路yes下去
bash Miniconda3-latest-Linux-x86_64.sh 
#  安装成功后需要更新系统环境变量文件
source ~/.bashrc

接下来 使用conda安装aspera, 可以高速下载 不同 数据集的fastq文件 ,代码如下:

代码语言:javascript复制
conda create -n download 
conda activate download 
conda install -y -c hcc aspera-cli 
which ascp 
## 一定要搞清楚你的软件被conda安装在哪
ls -lh ~/miniconda3/envs/download/etc/asperaweb_id_dsa.openssh

但是在Windows操作系统使用conda,大家安装了Anaconda这个exe格式的界面软件,根本就找不到它,而且也没办法进入可以交互输入命令的终端界面。

所以这里,我们推荐通过R里面的reticulate包桥接使用Windows的conda:

reticulate的官方文档:https://rstudio.github.io/reticulate/articles/python_packages.html 接下来,进入我们熟悉的Rstudio里面输入代码:

代码语言:javascript复制
install.packages("reticulate")
reticulate::install_miniconda()
library(reticulate)
conda_list() 

使用conda安装一个小环境,名字是scMLnet,然后激活这个环境:

代码语言:javascript复制
conda_create("scMLnet",python_version = '3.7')
use_condaenv("scMLnet")

上面的代码就等价于在交互输入命令的终端界面输入如下所示的命令:

代码语言:javascript复制
conda create -y -n scMLnet python=3.7
conda activate scMLnet 
conda install -y scMLnet

这样,就算是你安装了Anaconda这个exe格式的界面软件,根本就找不到它,也不知道如何输入命令,也可以进入我们熟悉的Rstudio里面输入代码替代它。

然后在 这个环境里面,安装相关软件:

代码语言:javascript复制
# 等价于 
# conda install Networkx
conda_install("scMLnet", "scipy")
conda_install("scMLnet", "matplotlib")
conda_install("scMLnet", "Networkx")

其中,安装scipy的时候,就附带安装了大量相关包:

代码语言:javascript复制
Downloading and Extracting Packages
m2w64-gcc-libs-5.3.0 | 520 KB    | ########## | 100% 
intel-openmp-2022.0. | 3.6 MB    | ########## | 100% 
m2w64-gcc-libgfortra | 342 KB    | ########## | 100% 
tbb-2021.5.0         | 148 KB    | ########## | 100% 
liblapack-3.9.0      | 5.3 MB    | ########## | 100% 
libcblas-3.9.0       | 5.3 MB    | ########## | 100% 
numpy-1.21.5         | 5.6 MB    | ########## | 100% 
msys2-conda-epoch-20 | 3 KB      | ########## | 100% 
libblas-3.9.0        | 5.3 MB    | ########## | 100% 
mkl-2022.0.0         | 181.9 MB  | ########## | 100% 
m2w64-libwinpthread- | 31 KB     | ########## | 100% 
scipy-1.7.3          | 24.4 MB   | ########## | 100% 
m2w64-gcc-libs-core- | 214 KB    | ########## | 100% 
m2w64-gmp-6.1.0      | 726 KB    | ########## | 100% 

而,安装matplotlib时候,也是附带安装了大量相关包:

代码语言:javascript复制
Downloading and Extracting Packages
xz-5.2.5             | 211 KB    | ########## | 100% 
xorg-libxau-1.0.9    | 57 KB     | ########## | 100% 
libxcb-1.13          | 1.3 MB    | ########## | 100% 
pthread-stubs-0.4    | 6 KB      | ########## | 100% 
pyparsing-3.0.7      | 79 KB     | ########## | 100% 
lcms2-2.12           | 882 KB    | ########## | 100% 
libbrotlidec-1.0.9   | 33 KB     | ########## | 100% 
packaging-21.3       | 36 KB     | ########## | 100% 
pyqtwebengine-5.12.1 | 143 KB    | ########## | 100% 
tk-8.6.12            | 3.5 MB    | ########## | 100% 
jpeg-9e              | 373 KB    | ########## | 100% 
unicodedata2-14.0.0  | 498 KB    | ########## | 100% 
fonttools-4.29.1     | 1.5 MB    | ########## | 100% 
icu-68.2             | 16.4 MB   | ########## | 100% 
munkres-1.1.4        | 12 KB     | ########## | 100% 
python-dateutil-2.8. | 240 KB    | ########## | 100% 
tornado-6.1          | 649 KB    | ########## | 100% 
kiwisolver-1.3.2     | 58 KB     | ########## | 100% 
zstd-1.5.2           | 1010 KB   | ########## | 100% 
libbrotlienc-1.0.9   | 721 KB    | ########## | 100% 
pyqt5-sip-4.19.18    | 298 KB    | ########## | 100% 
libzlib-1.2.11       | 63 KB     | ########## | 100% 
python-3.7.12        | 17.9 MB   | ########## | 100% 
libpng-1.6.37        | 724 KB    | ########## | 100% 
freetype-2.10.4      | 489 KB    | ########## | 100% 
pyqt-5.12.3          | 22 KB     | ########## | 100% 
brotli-1.0.9         | 18 KB     | ########## | 100% 
lerc-3.0             | 140 KB    | ########## | 100% 
libwebp-base-1.2.2   | 393 KB    | ########## | 100% 
matplotlib-3.5.1     | 7 KB      | ########## | 100% 
lz4-c-1.9.3          | 135 KB    | ########## | 100% 
libtiff-4.3.0        | 1.1 MB    | ########## | 100% 
zlib-1.2.11          | 106 KB    | ########## | 100% 
jbig-2.1             | 45 KB     | ########## | 100% 
libbrotlicommon-1.0. | 67 KB     | ########## | 100% 
libwebp-1.2.2        | 11 KB     | ########## | 100% 
libclang-11.1.0      | 20.8 MB   | ########## | 100% 
openjpeg-2.4.0       | 238 KB    | ########## | 100% 
qt-5.12.9            | 106.1 MB  | ########## | 100% 
pillow-9.0.1         | 44.3 MB   | ########## | 100% 
fribidi-1.0.10       | 63 KB     | ########## | 100% 
xorg-libxdmcp-1.1.3  | 66 KB     | ########## | 100% 
libdeflate-1.10      | 69 KB     | ########## | 100% 
certifi-2021.10.8    | 145 KB    | ########## | 100% 
matplotlib-base-3.5. | 7.3 MB    | ########## | 100% 
cycler-0.11.0        | 10 KB     | ########## | 100% 
pyqtchart-5.12       | 211 KB    | ########## | 100% 
pyqt-impl-5.12.3     | 4.3 MB    | ########## | 100% 
brotli-bin-1.0.9     | 21 KB     | ########## | 100% 

最后安装Networkx,也是有一些附带的包一起安装:

代码语言:javascript复制
Downloading and Extracting Packages
networkx-2.6.3       | 1.5 MB    | ########## | 100% 
pytz-2021.3          | 242 KB    | ########## | 100% 
bottleneck-1.3.2     | 114 KB    | ########## | 100% 
pandas-1.3.4         | 8.4 MB    | ########## | 100% 
numexpr-2.8.0        | 126 KB    | ########## | 100% 

其实也可以一次性安装:

代码语言:javascript复制
reticulate::py_install (packages = c ("numpy", "pandas", "matplotlib"))

再次使用 conda_list() ,可以看到自己多了一个 名字是scMLnet 的conda小环境,而且里面有一个Python:

代码语言:javascript复制
   C:\Users\win10\miniconda3\envs\scMLnet\python.exe

这个Python的路径后续很多使用都用得上,这个reticulate还有更多用法,大家可以自行前往官方文档:https://rstudio.github.io/reticulate/articles/python_packages.html

0 人点赞