【发布时间】:2015-09-09 19:26:01
【问题描述】:
我在使用 python 鼻子测试时遇到问题。 当我尝试运行该命令时,出现导入错误。 我检查了模块是否正确安装在我的机器上。 事实上,如果我从运行nosetests的目录运行解释器, 我能够导入模块。 我检查了问题不仅在于导入该模块,还在于导入不同的模块。 哪里可以解决?
这是我运行鼻子测试后可能的回溯:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/nose/loader.py", line 418, in loadTestsFromName
addr.filename, addr.module)
File "/Library/Python/2.7/site-packages/nose/importer.py", line 47, in importFromPath
return self.importFromDir(dir_path, fqname)
File "/Library/Python/2.7/site-packages/nose/importer.py", line 94, in importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "/Users/user-me/Desktop/bla/tests/blatest1", line 1, in <module>
import a_module as mo
ImportError: No module named a_module
但如果我打开 python 解释器,我可以导入 a_module。
这是我的目录结构:
ROOT
└── package
├── __init__.py
├── package1
└── tests
├── tests1
│ └── package1 -> ../../package1
└── tests2
【问题讨论】:
-
请发回溯
-
你的目录结构是什么样的,你从哪个目录运行鼻子?
-
package/ 包含 init.py、modules/、tests/,我从主包目录运行。
-
什么是“主包目录”?您的堆栈跟踪包含路径。你能告诉我们你是从哪个地方流鼻涕的吗?
-
@deets:没关系,无论我在哪里运行鼻子测试,我都会收到导入错误。我评论中的主包目录是“package/”,在上一条评论中我称之为“bla”。