安装mofapy

今天继续测试新的单细胞多组学分析软件,主角是MOFA
而在RSTUDIO上运行MOFA需要安装python依赖,官方给出的脚本是:

library(reticulate)
use_python("YOUR_PYTHON_PATH", required=TRUE)
py_install("mofapy", envname = "r-reticulate", method="auto")

我依样葫芦之后,报错如下:

Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... done

# All requested packages already installed.

Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): ...working... done
Solving environment: ...working... failed with initial frozen solve. Retrying with flexible solve.

PackagesNotFoundError: The following packages are not available from current channels:

  - mofapy

Current channels:

  - https://conda.anaconda.org/conda-forge/win-64
  - https://conda.anaconda.org/conda-forge/noarch
  - https://repo.anaconda.com/pkgs/main/win-64
  - https://repo.anaconda.com/pkgs/main/noarch
  - https://repo.anaconda.com/pkgs/r/win-64
  - https://repo.anaconda.com/pkgs/r/noarch
  - https://repo.anaconda.com/pkgs/msys2/win-64
  - https://repo.anaconda.com/pkgs/msys2/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to

    https://anaconda.org

and use the search bar at the top of the page.


Error: one or more Python packages failed to install [error code 1]

我使用anaconda prompt来下载它报错也是这个
那我想,既然这几个channels找不到mofapy,就要添加channels吧,就加了清华的源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

再用anaconda prompt下载果然就可以成功了,但是回到R上,还是一样的报错!
查阅了一下别人的回答https://github.com/rstudio/reticulate/issues/623
修改代码为:
py_install("mofapy", envname = "r-reticulate", method="auto",pip=TRUE)
下载之后的结果如下:

Requirement already up-to-date: mofapy in c:\programdata\miniconda3\envs\r-reticulate\lib\site-packages (1.2)
Requirement already satisfied, skipping upgrade: pandas in c:\programdata\miniconda3\envs\r-reticulate\lib\site-packages (from mofapy) (1.0.5)
Requirement already satisfied, skipping upgrade: h5py in c:\programdata\miniconda3\envs\r-reticulate\lib\site-packages (from mofapy) (2.10.0)
Requirement already satisfied, skipping upgrade: numpy in c:\programdata\miniconda3\envs\r-reticulate\lib\site-packages (from mofapy) (1.19.0)
Requirement already satisfied, skipping upgrade: sklearn in c:\programdata\miniconda3\envs\r-reticulate\lib\site-packages (from mofapy) (0.0)
Requirement already satisfied, skipping upgrade: scipy in c:\programdata\miniconda3\envs\r-reticulate\lib\site-packages (from mofapy) (1.5.1)
Requirement already satisfied, skipping upgrade: argparse in c:\programdata\miniconda3\envs\r-reticulate\lib\site-packages (from mofapy) (1.4.0)
Requirement already satisfied, skipping upgrade: python-dateutil>=2.6.1 in c:\programdata\miniconda3\envs\r-reticulate\lib\site-packages (from pandas->mofapy) (2.8.1)
Requirement already satisfied, skipping upgrade: pytz>=2017.2 in c:\programdata\miniconda3\envs\r-reticulate\lib\site-packages (from pandas->mofapy) (2020.1)
Requirement already satisfied, skipping upgrade: six in c:\programdata\miniconda3\envs\r-reticulate\lib\site-packages (from h5py->mofapy) (1.15.0)
Requirement already satisfied, skipping upgrade: scikit-learn in c:\programdata\miniconda3\envs\r-reticulate\lib\site-packages (from sklearn->mofapy) (0.23.1)
Requirement already satisfied, skipping upgrade: joblib>=0.11 in c:\programdata\miniconda3\envs\r-reticulate\lib\site-packages (from scikit-learn->sklearn->mofapy) (0.16.0)
Requirement already satisfied, skipping upgrade: threadpoolctl>=2.0.0 in c:\programdata\miniconda3\envs\r-reticulate\lib\site-packages (from scikit-learn->sklearn->mofapy) (2.1.0)

也没报错没啥说成功,就测试一下吧~

> py_module_available("mofapy")
[1] TRUE

成功啦!开心撒花
注意安装mofapy时创建了虚拟环境,因此下次使用它的时候要切换到该环境下的python才可以使用
use_python('C:\\ProgramData\\Miniconda3\\envs\\r-reticulate\\python.exe',required = T)

#指定环境路径
use_virtualenv("/your path/",required = T)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。