运行setup.py测试时,子包上的ImportError
|
我正在尝试为包含项目单元测试的Python项目创建安装包。我的项目布局如下:
setup.py
src/
disttest/
__init__.py
core.py
tests/
disttest/
__init__.py
testcore.py
我的setup.py
看起来像这样:
from distutils.core import setup
import setuptools
setup(name=\'disttest\',
version=\'0.1\',
package_dir={\'\': \'src\'},
packages=setuptools.find_packages(\'src\'),
test_suite=\'nose.collector\',
tests_require=[\'Nose\'],
)
文件“ 3”包含行“ 4”。
现在运行setup.py test
得到ImportError: No module named core
。
在setup.py install
之后,python -c \"from disttest.core import DistTestCore\"
正常工作。如果我将ѭ9放到ѭ10中也可以使用,但是我真的不想保留它,这似乎只是测试所必需的。
这是为什么?正确的解决方法是什么?
没有找到相关结果
已邀请:
1 个回复
弦砂牧扁
目录中导入
软件包,而不是从
目录中的被测软件包。 为什么需要使用与被测软件包同名的软件包?我只是将testcore模块移至tests目录,或者重命名
软件包,从而完全避免了潜在的命名冲突。 无论如何,您都想在导入失败之前插入
行,并处理不同的导入语句以查看从何处导入内容(
是您的朋友),以便您更好地了解出了什么问题。