我有一个混合 Python/C++ 库,其中测试文件混合在同一目录中的源文件中。布局看起来像
/home/irving/geode
geode
__init__.py
vector
__init__.py
test_vector.py
...
...
不幸的是,该库无法就地使用,因为它缺少 .so 扩展模块。 问题:我可以让 py.test 始终使用已安装的版本,即使是从/home/irving/geode
子目录或子目录运行?
测试文件有from __future__ import absolute_import
, 如果直接作为脚本执行,则运行良好。例如,如果我这样做
cd geode/vector
./test_vector.py
确实如此import geode
,它会找到已安装的版本。但是,如果我在 中运行 py.test geode/vector
,它会找到 的本地副本geode
,然后死掉。