删除 Cython 中的编译参数

2024-01-02

我想用 cython 编译我的 python 项目。 我创建了这个 setup.py 文件:

from setuptools import setup, find_packages
from Cython.Build import cythonize

recursive_tree = [file for file in glob.iglob("sample/**/*.py",  recursive=True)]

setup(
    name                                     = 'sample',
    version                                  = sample.__version__,
    packages                                 = find_packages(),
    author                                   = "42",
    description                              = "Cython Sample",
    include_package_data                     = True,
    ext_modules                              = cythonize(
        recursive_tree,
        nthreads=2,
        exclude="setup.py",
        build_dir = "out",
    ),
)

In this thread https://stackoverflow.com/questions/33520619/extra-compile-args-in-cython,我们可以看到可以添加一些额外的编译参数,但是我们可以做相反的事情并删除一个吗?

当我使用这个命令时:python setup.py build_ext --inplace我得到了这个 gcc 配置:

gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/usr/local/include/python3.6m -c out/sample/hello.c -o build/temp.linux-x86_64-3.6/out/sample/hello.o

gcc -pthread -shared build/temp.linux-x86_64-3.6/out/sample/hello.o -o build/lib.linux-x86_64-3.6/hello.cpython-36m-x86_64-linux-gnu.so

我怎样才能删除-g option?


参考类似的问题:如何覆盖 setup.py 默认使用的编译器 (gcc) 标志? https://stackoverflow.com/questions/6928110/how-may-i-override-the-compiler-gcc-flags-that-setup-py-uses-by-default(我不认为quite重复)。他们通过添加额外的命令行参数来撤消那些问题来解决类似的问题setup.py默认添加。

在这种情况下-g0 “否定-g" https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html。因此添加-g0 to extra_compile_args

setup(... # everything as before
      extra_compile_args = ['-g0'])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除 Cython 中的编译参数 的相关文章

随机推荐

  • “react-router”不包含名为“BrowserRouter”的导出

    我正在使用 React router 版本 5 5 1 并尝试在我的index js file src index js 14 8 21 react router does not contain an export named Brows
  • 如何从 Linux 与 SDL 2 对 Windows 进行交叉编译

    我尝试在 Arch Linux 64 位 上使用 SDL 2 和 mingw w64 g 编译器编译一个简单的 C 程序 为此 我从以下位置下载了 SDL2 devel 2 0 4 mingw tar gzhere https www li
  • WPF:如何设置垂直滑块的动态数字范围?

    我目前正在处理一个 WPF MVVM 项目 该项目有一个由多个视图使用的用户控件 但具有不同的值范围 这是我需要的一个例子 正如您所看到的 控件必须根据我需要在滑块中显示的值以不同的行为做出响应 无论数字如何 这只是一个示例 问题之一是该项
  • 为什么在 C++ 中对模板施加类型约束是不好的?

    In 这个问题 https stackoverflow com questions 874298 c templates that accept only certain typesOP询问限制模板将接受哪些类 总结一下 Java 中的同等
  • 在 ListView 上对齐两个 TextView,一左一右,而不拉伸背景

    所以我有两个TextViews每行ListView 一个应该左对齐 另一个右对齐 两个都TextViews有一个圆角矩形作为背景 应该将文本包裹在里面 所以我想出了这个
  • Flutter 应用程序在发布模式下不会请求存储权限

    我正在使用permission handler包来请求我的应用程序中存储的读取权限 在调试模式下一切都工作正常 当我使用 flutter run release 运行我的代码时 但是当我将代码导出为apk时 问题就出现了不出现权限对话框 我
  • 托管调试助手发生“FatalExecutionEngineError”

    i got the following error while DEBUG a test however the same test can RUN successfully 当我在 工具 gt 选项 gt 调试 gt 常规 下打开 使用托
  • 当前时间的时区缩写?

    有没有办法可以使用时区缩写 PST EDT GMT 等 并在 WP7 上使用 C 将其转换为当前时间 我假设我可以使用像 TimeZoneInfo 这样的东西来查找偏移量 但实际上如何从缩写或完整时区名称 通过将缩写映射到全名来获取 中获取
  • 从 unsigned int (C++) 读取最左边位的最快方法?

    从 unsigned int 读取最左边位的最快方法是什么 i gt gt sizeof unsigned int CHAR BIT 1 The sizeof 乘法和减法将由任何合理的编译器在编译时计算 因此这应该成为单个右移指令 这大约是
  • 在 FrameLayout 内显示空 ListView 的 TextView

    我有一个选项卡式布局和一个使用选项卡作为视图的活动 它有三个选项卡ListViews 如果其中一个列表为空 我想显示一个简单的TextView反而 我浏览了很多帖子 但它们都只讨论一个ListView里面一个LinearLayout 我不确
  • 将单列转换为单行

    我有一个只有一列的表 如下所示 Column Name Data1 Data2 Data3 Data4 Data5 我想做的事情看起来很简单 但我无法在任何地方找到任何例子 我想要的只是将上面的列转换为单行 如下所示 Col1 Col2 C
  • 灯箱叠加层在 Chrome 上不显示,但在 Chrome Canary 上运行良好

    我在 Lightbox Overlay 上遇到了一些问题 它在 Chrome Canary Safari Firefox 和 IE 上完美显示 Chrome 版本 33 除外 截图 Lightbox 适用于除 Chrome 之外的任何浏览器
  • 将 JavaScript 生成的 SVG 转换为文件

    我正在使用 d3 js 来可视化一些数据 我希望能够获取它生成的 SVG 代码并将其存储为 svg图像文件 用于在 Inkscape Illustrator 中编辑 我尝试简单地复制 svg 标签的内容 即
  • 使用 glob 返回给定目录中的文件夹列表(不带路径)

    下面的函数将给定目录中的所有文件夹返回到多个级别 不过 我只需要一层深度 只需要目标目录中的文件夹 不需要子文件夹 该函数还返回文件夹的完整路径 我只想要文件夹名称 我确信我错过了一些简单的事情 如何修改函数以仅返回给定目录的文件夹名称 不
  • Boot2Docker:通过 LAN 连接到容器

    我在 Mac 上使用 Boot2Docker 1 3 0 到目前为止我很高兴使用它 但现在我想不是从本地计算机而是从本地网络中的另一台计算机连接到 http 容器 公开端口 8080 如果我在本地进行 我只需使用http 192 168 5
  • 在制表符中显示/隐藏或切换嵌套表子项

    我想知道你是否可以帮忙解决一些我认为非常简单的事情 使用制表符嵌套表示例 不是树 如何使子表在单击时显示 隐藏 我希望用户能够在需要类似于树示例的情况下扩展以获取更多信息 我已经看到了一些答案 但它们似乎对我不起作用 define tabl
  • 更改java符号链接

    My Windows 8命令提示符不再显示 java 我发现在C ProgramData Oracle Java javapath找到了我无法更改的错误符号链接 当我尝试更改时出现错误 Problem with Shortcut The n
  • 循环遍历对象数组 - TypeError:无法读取未定义的属性“名称”

    我正在尝试从以下位置创建一串艺术家姓名artists下面显示的数组 即 泰勒 斯威夫特 蕾哈娜 贾斯汀 汀布莱克 但是artist obj未定义 我收到错误 TypeError 无法读取未定义的属性 名称 我该如何解决 Code Get i
  • 如何创建像新市场或Google+这样的UI?

    我想知道是否有一种 官方 方式来创建与新版具有相同设计的 Android 应用程序或 Google 应用程序 我的意思是可以向左 向右滑动来更改视图 将列表放在顶部等等 任何 Android 用户可能都明白我的意思 如果没有官方方法 您对如
  • 删除 Cython 中的编译参数

    我想用 cython 编译我的 python 项目 我创建了这个 setup py 文件 from setuptools import setup find packages from Cython Build import cythoni