我发现了很多类似的帖子。但是,这些帖子并未提供我的问题的解决方案。所以我想问一些关于我的问题的问题。我的问题是在单元测试和导入模块。我的项目有以下层次结构。Python单元测试和导入错误
app/
__init__.py
src/
__init__.py
person.py
tests/
__init__.py
test_person.py
我使用pytest进行单元测试。内部测试/ test_person.py
## tests/test_person.py
from ..src import person
内的src/person.py
## src/person.py
from Bio import PDB
从应用程序/,我运行py.test并得到了错误。
from Bio import PDB
E ImportError: No module named Bio
我在命令行中进一步测试,检查是否可以导入生物导入PDB。它可以无任何错误地导入。
Python 2.7.4 (default, May 14 2013, 09:41:12)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from Bio import PDB
>>>
我不知道什么是错误。有人猜测?
它从不同的目录工作。 – Exchhattu 2014-09-12 11:41:07
使用命令行时,导致“Bio”成功导入的原因是什么?它不在上面提到的文件夹中。 – Hetzroni 2014-09-12 12:47:24
更新:在我的系统中,由于程序依赖性,我已经把版本的python - python 2.6和python 2.7。我在/ usr/bin /和python2.7中的/ usr/local/bin中安装了python2.6。现在,当我使用python2.6时,没有模块错误出现 - 来自Bio import PDB。由于py.test也安装在/ user/bin,所以当默认使用py.test时,我认为它使用/ usr/bin中的python而不是默认路径/ usr/local/bin。你能告诉我怎么知道py.test正在使用什么(python)?我如何在py.test中自定义库路径? – Exchhattu 2014-09-13 04:02:33