python - 在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 脚本的包中获取方法?
解决方案
推荐阅读
- javascript - 如何在 JavaScript 中检查邮政编码?
- laravel - Laravel PDF 到图像:ImagickException:未授权
- json - 如何在powershell中替换json文件中的属性
- angular - Angular 6如何在一定间隔后跟踪表单字段的更改
- html - CSS div 未正确水平对齐
- django - 在 django 测试中使用 mock 绕过装饰器
- javascript - 从全局错误类中排除一个类
- excel - 在 Excel 中返回多个名称
- math - 从我的相机观察中计算垂直向量
- mysql - 对新索引数据的 MYSQL 查询异常缓慢