我有一个python3.6包,其中包含一些Cython扩展。假设其内容如下:
# example/example.pyx
def add(int a, int b):
return a + b
我可以用这个脚本使用setuptools
来构建它
现在我可以添加一个单元测试:
# example/tests/test_example.py
import unittest
from example.example import add
class TestExample(unittest.TestCase):
def test_add(self):
result = add(4, 5)
self.assertEqual(result, 9)
但是,如果我运行python -m unittest discover
,测试将失败,并返回ImportError
,因为它找不到已编译的Cython模块。即使我已经使用python setup.py build_ext
构建了模块,也会发生这种情况。在
我发现让测试工作的唯一方法是使用python setup.py build_ext -i
在适当的地方构建Cython模块,但这似乎是不必要的。如果我没有就地构建,有没有方法告诉unittest
库如何找到已编译的Cython模块?在
目前没有回答
相关问题 更多 >
编程相关推荐