Cythonize为.c和.o文件生成两个单独的生成文件夹

问题描述

我的包裹的结构如下:

.
setup.py
setup.sh
neuralflow/
    c_get_gamma.pyx

我的目标是编译cython扩展,并将所有构建的文件放入Neuroflow文件夹中。

Setup.py:

from distutils.core import setup
from distutils.extension import Extension
import numpy as numpy
        
extensions = [Extension("c_get_gamma",["neuralflow/c_get_gamma.pyx"],include_dirs = [numpy.get_include(),"neuralflow/"])]

from Cython.Build import cythonize
extensions = cythonize(extensions,build_dir="neuralflow/build")


setup(
    ext_modules = extensions,packages=["neuralflow"],package_dir={'neuralflow': 'neuralflow'}
)

Setup.sh:

#!/bin/bash
python setup.py build_ext --build-lib neuralflow 

结果,我得到以下结构:

.
setup.py
setup.sh
build/
    temp.macosx-10.9-x86_64-3.7/
         neuralflow/
             build/
                 neuralflow/
                     c_get_gamma.o
neuralflow/
    c_get_gamma.pyx
    c_get_gamma.cpython-37m-darwin.so 
    build/
        neuralflow/
            c_get_gamma.c

我不明白为什么项目的根文件夹中有一个带有这种奇怪结构的build文件夹。我安装正确吗?

Python 3.7.6,Cython 0.29.15

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...