首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Cython在项目中运行nosetest

如何使用Cython在项目中运行nosetest
EN

Stack Overflow用户
提问于 2014-03-06 03:04:29
回答 1查看 499关注 0票数 1

我有一个项目结构,比如:

代码语言:javascript
复制
pgmpy/
|-- pgmpy
|   |-- BayesianModel
|   |   |-- BayesianModel.py
|   |   |-- __init__.py
|   |-- Exceptions
|   |   |-- Exceptions.py
|   |   |-- __init__.py
|   |-- Factor
|   |   |-- CPD.py
|   |   |-- _factor_product.c
|   |   |-- _factor_product.pyx
|   |   |-- Factor.py
|   |   |-- __init__.py
|   |-- Independencies
|   |   |-- Independencies.py
|   |   |-- __init__.py
|   |-- __init__.py
|   |-- MarkovModel
|   |   |-- __init__.py
|   |   |-- MarkovModel.py
|   |-- readwrite
|   |   |-- __init__.py
|   |   |-- ProbModelXML.py
|   `-- tests
|       |-- help_functions.py
|       |-- test_BayesianModel.py
|       `-- test_Independencies.py
`-- setup.py

因子dir包含一个.pyx文件。当我使用setup.py安装pgmpy时,它使用Cython进行编译,并在python的dist-packages dir中创建一个共享对象文件。但是,由于这个共享对象文件在项目dir中不可用,因此从这个dir运行nosetests会产生一个错误,即它无法导入cython文件。从任何其他目录运行nosetest都很好。

我应该做什么来确保nosetest也从项目dir运行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-06 04:25:59

我看了一下您的项目,尝试将setup的导入从distutils.core更改为setuptools,因为distutils没有提供有用的功能,比如python setup.py develop --这将将.so文件构建到pgmpy/Factor/_factor_product.cpython-33m.so中,然后可以用于导入。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22214022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档