问题描述
我想做一个 Python 包。我想使用 distutils
。该软件包还使用了 cython。这是文件夹结构:
main/
- package_ex/
- __init__.py (empty)
- module_1.py
- module_2.py
- c_module_1.pyx
- c_module_2.pyx
- setup.py
我的问题是,当我执行 pip install /home/user/main
时,它会被安装,但它知道包中仅有的两个模块是 c_module_1
和 c_module_2
。因此尝试 import from package module_1
会引发 ImportError
。当我在 packages=["package_ex"]
中使用 setup.py
时会发生这种情况。我找到了一种通过使用 py_modules=["package_ex","package_ex.module_1","package_ex.module_2"]
来规避此问题的方法。但我想知道为什么 packages=["package_ex"]
的通常(据我所知)命令不起作用。
这是我的 setup.py:
from distutils.core import setup
from Cython.Build import cythonize
import numpy
setup(
name="package_ex",version="0.3",# packages=["package_ex"],py_modules=["package_ex","package_ex.module_2"],ext_modules=cythonize("package_ex/*.pyx",compiler_directives={'language_level': "3"}),requires=['Cython','numpy','scipy','tigramite','matplotlib'],include_dirs=[numpy.get_include()])
如果您能提供任何线索,我将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)