【问题标题】:Why R library 'ssw' cannot find python module installed via pip3, although pip3 module installation is satisfied?为什么 R 库 'ssw' 找不到通过 pip3 安装的 python 模块,尽管 pip3 模块安装已满足?
【发布时间】:2021-01-21 23:21:02
【问题描述】:

我在Ubuntu 20.04.1 LTS focal,使用R。我想在 R 中安装一个库,以基于 Smith-Waterman 算法但通过更快的实现来执行本地序列比对。

R 库是 ssw,可以在这里找到:https://github.com/nanxstats/ssw-rclick link to github repo

描述:ssw-r 为 SSW 提供了一个 R 接口,它是使用 SIMD 进行序列比对的 Smith-Waterman 算法的快速实现。 ssw-r 目前是基于 Python 包 ssw-py 构建的

当我尝试按照 README.md 步骤安装它时,

  • remotes::install_github("nanxstats/ssw-r"),执行良好
  • reticulate::use_python("/usr/local/bin/python3"),也执行得很好
  • library("ssw"),加载库甚至执行得很好
  • "ACGT" %>% align("TTTTACGTCCCCC"),运行示例无法正常执行,产生此错误:
> "ACGT" %>% align("TTTTACGTCCCCC")
Error: Python module ssw was not found.

Detected Python configuration:

python:         /root/.local/share/r-miniconda/envs/r-reticulate/bin/python
libpython:      /root/.local/share/r-miniconda/envs/r-reticulate/lib/libpython3.6m.so
pythonhome:     /root/.local/share/r-miniconda/envs/r-reticulate:/root/.local/share/r-miniconda/envs/r-reticulate
version:        3.6.11 | packaged by conda-forge | (default, Aug  5 2020, 20:09:42)  [GCC 7.5.0]
numpy:          /root/.local/share/r-miniconda/envs/r-reticulate/lib/python3.6/site-packages/numpy
numpy_version:  1.19.1

我已经安装了ssw-py 作为 README.md 请求通过;

$ sudo pip3 install ssw-py
Requirement already satisfied: ssw-py in /usr/local/lib/python3.8/dist-packages (0.2.6)

我不确定依赖项有什么问题。第一次在 R 中安装 ssw 时,系统提示我是否要安装 miniconda 并选择是。我没有在系统上安装anaconda。 (在 Ubuntu 仿生 18.04 上,我能够成功安装 anaconda,但无论我尝试多少次,它都无法正常工作,例如安装程序最初将它放在 /root/anaconda3 的一个小文件中)

我需要解决什么问题才能让这个库 ssw 工作?

【问题讨论】:

  • 如果您尝试使用 pip 安装到 Conda 环境中,那么 pip3 是不正确的。 Conda 不使用这样的别名,而是在激活环境时简单地将 pip 放在 PATH 上。 pip3 指向系统级 Python,结果清楚地表明了这一点。

标签: python r configuration pip bioinformatics


【解决方案1】:

我设法在声明library("ssw")之前使用此命令解决了这个问题:

Sys.setenv(RETICULATE_PYTHON = "/usr/bin/python3")

README.md reticulate::use_python("/usr/local/bin/python3") 中规定的语句没有连接到 python 安装,这个在我的系统上工作。这是通过以下方式发现的:

$ which python3
/usr/bin/python3

然后将此目录作为python连接的系统环境

【讨论】:

    猜你喜欢
    • 2019-07-16
    • 2018-05-11
    • 2017-07-07
    • 2019-10-09
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    • 2021-05-31
    • 1970-01-01
    相关资源
    最近更新 更多