首页 > 解决方案 > 在anaconda env中运行脚本时出现biopython ModuleNotFoundError

问题描述

请怜悯我。我来自 R 宇宙,最近在 python 中继承了一个项目。自从我不得不使用 python 以来已经有两年了,所以我可能遗漏了一些明显的东西。如果有人认为有必要,我会尽我所能。

我有一个在 ubuntu 20.04 上运行的 anaconda 环境。我已经激活了环境,然后安装了 biopython。但是,每当我运行有问题的脚本文件时,我都会得到一个ModuleNotFoundError. 这是完整的错误:

from Bio import SeqIO ModuleNotFoundError: No module named 'Bio'

在进行了一些挖掘之后,结果Bio实际上是在 内biopython,当我运行时,conda list | grep 'Bio'我什么也没有得到输出。但是,当我在conda list | grep 'bio'这里运行时是输出。

# packages in environment at /home/user/anaconda3/envs/bioPy: biopython 1.78 py38h7b6447c_0

这是来自的输出which python3

/home/user/anaconda3/envs/bioPy/bin/python3

我还直接启动了解释器,从活动环境中运行,import Bio然后使用我想使用的方法,没有任何问题。但是,如果我尝试导入biopython,我会得到一个ModuleNotFoundError. 所以我很确定这Bio是我运行脚本真正需要的

我在这篇文章中读到了关于手动更改位于/home/user/anaconda3/lib/python3.x/site-packages. 看起来很牵强,但并没有什么不同,因为该目录在站点包中已经被命名为“Bio”。

我从biopython 网站看到,它Bio是 biopython 项目的 API,我想要的特定代码是 API (SeqIO) 中的一个单独包。

所以这是我的问题。应该如何从Bio导入 python 脚本的包中获取方法?

标签: pythonpython-3.xanacondabiopython

解决方案


推荐阅读