让 distutils 在正确的位置查找 numpy 头文件

2024-05-10

在我的安装中,numpy 的arrayobject.h位于…/site-packages/numpy/core/include/numpy/arrayobject.h。我编写了一个使用 numpy 的简单 Cython 脚本:

cimport numpy as np

def say_hello_to(name):
    print("Hello %s!" % name)

我还有以下 distutilssetup.py(复制自Cython 用户指南 http://docs.cython.org/src/quickstart/build.html):

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext

ext_modules = [Extension("hello", ["hello.pyx"])]

setup(
  name = 'Hello world app',
  cmdclass = {'build_ext': build_ext},
  ext_modules = ext_modules
)

当我尝试构建时python setup.py build_ext --inplace,Cython 尝试执行以下操作:

gcc -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd \
-fno-common -dynamic -DNDEBUG -g -Os -Wall -Wstrict-prototypes -DMACOSX \
-I/usr/include/ffi -DENABLE_DTRACE -arch i386 -arch ppc -pipe \
-I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 \
-c hello.c -o build/temp.macosx-10.5-i386-2.5/hello.o

可以预见的是,这找不到arrayobject.h。如何使 distutils 使用 numpy 包含文件的正确位置(而不让用户定义 $CFLAGS)?


Use numpy.get_include():

from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
import numpy as np                           # <---- New line

ext_modules = [Extension("hello", ["hello.pyx"],
                                  include_dirs=[get_numpy_include()])]   # <---- New argument

setup(
  name = 'Hello world app',
  cmdclass = {'build_ext': build_ext},       
  ext_modules = ext_modules
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

让 distutils 在正确的位置查找 numpy 头文件 的相关文章

  • Python 3.4.3 tkinter - 程序在声明 IntVar 或任何其他 tkinter 数据类型时冻结

    上一主题 Python 3 4 tkinter checkbutton变量处理不起作用 响应 https stackoverflow com questions 33711472 python 3 4 tkinter checkbutton
  • Python动态导入脚本,需要有其__name__ == "__main__"代码才能被调用

    当从另一个脚本导入 python 脚本时 我想要受经典保护的脚本代码 if name main 要运行 我怎样才能运行该代码 我想做的是从 python 脚本动态更改模块 然后导入现有脚本 该脚本应该看到所做的更改并运行其 main 像Py
  • python的_random是什么?

    如果你打开random py看看它是如何工作的 它的类Random子类 random Random import random class Random random Random Random number generator base
  • 从终端调用时 uvicorn 不工作

    我尝试通过 pip3 在系统上安装 uvicorn 这有效 但是我无法从命令行运行相同的命令 有关如何解决此问题的任何指示 Requirement already satisfied uvicorn in home vhawk19 loca
  • Python 按文件夹模块导入

    我有一个目录结构 example py templates init py a py b py a py and b py只有一个类 名称与文件相同 因为它们是猎豹模板 纯粹出于风格原因 我希望能够在中导入和使用这些类example py像
  • Accel 无法在 gedit 3 插件中工作

    我试图为 Gedit 3 编写一个使用 GObject 自省的小插件 下面显示的代码的相关部分只是为了建立一个环境 然后我可以将函数放入按钮的回调中 但是 该按钮的加速器不起作用 这段代码有什么问题 我正在使用教程here http www
  • Weasyprint 在调用 write_pdf 时获得未定义的属性:“AttributeError:‘PosixPath’对象没有属性‘read_text’”

    我正在 ubuntu 18 04 上运行 weasyprint 项目 并尝试创建一个 pdf 当我尝试设置页脚图像时 问题就开始了 我正在 python 3 6 7 上运行 这是我调用 weasyprint 的代码 import sys i
  • 如何使用泛型类型的构造函数

    如何使用 python 泛型类型的构造函数 T typing TypeVar T class MyClass typing Generic T def init self initialValue typing Iterable self
  • 使用子图绘制 pandas 数据框 (subplots=True):放置图例并使用紧凑的布局

    我真的很喜欢 pandas 来处理和分析大数据集 到目前为止 我主要使用 matplotlib 进行绘图 但现在想使用 pandas 自己的绘图功能 基于 matplotlib 因为它需要更少的代码 并且在大多数情况下对我来说似乎足够了 尤
  • PyPI 项目页面中的“Py 版本”是什么意思?这有关系吗?

    我注意到 大多数在 PyPI 上发布的项目在其项目页面中都包含 Py 版本 元数据 但它们的值各不相同 如果包不是通用包或不是纯 python 包 那么它们的值是不同的 这是可以理解的 以便表示它们的目标平台 例如鼻页 https pypi
  • 图像堆栈的最大强度投影

    我正在尝试重新创建该功能 max array 3 来自 MatLab 它可以获取 N 个图像的 300x300px 图像堆栈 我在这里说 图像 因为我正在处理图像 实际上这只是一个大的双数组 300x300xN 并创建一个 300x300
  • Cython:为什么 size_t 比 int 快?

    更改某些 Cython 变量的类型int输入size t可以显着减少某些功能的时间 30 但我不明白为什么 例如 cimport numpy as cnp import numpy as np def sum int cnp int64 t
  • Python3.1中的视图?

    Python3 1中的视图到底是什么 它们的行为方式似乎与迭代器类似 并且它们也可以具体化为列表 迭代器和视图有何不同 据我所知 视图仍然附加到创建它的对象上 对原始对象的修改会影响视图 来自docs http docs python or
  • 多线程写入文件

    前几天刚开始使用 python 对多线程的整个概念还很陌生 我在多线程时写入文件时遇到问题 如果我按照常规方式执行此操作 它会不断覆盖正在写入的内容 使用 5 个线程写入文件的正确方法是什么 不降低性能的最佳方法是在所有线程之间使用队列 每
  • Python unittest - 与assertRaises相反?

    我想编写一个测试来确定在给定情况下不会引发异常 测试是否有异常很简单is上调 sInvalidPath AlwaysSuppliesAnInvalidPath self assertRaises PathIsNotAValidOne MyO
  • 收到的标签值 1 超出了 [0, 1) 的有效范围 - Python、Keras

    我正在使用具有张量流背景的 keras 开发一个简单的 cnn 分类器 def cnnKeras training data training labels test data test labels n dim print Initiat
  • 安排 Asyncio 任务每 X 秒执行一次?

    我正在尝试创建一个 python 不和谐机器人 它将每隔 X 秒检查一次活跃会员 并根据会员的在线时间奖励积分 我正在使用 asyncio 来处理聊天命令 这一切都正常 我的问题是找到一种方法来安排每隔 X 秒异步检查一次活动成员 我已经阅
  • Networkx 中 Louvain 分区的可视化

    请帮助我更改 Louvain 聚类算法结果的可视化 我从网站上获取了代码https github com taynaud python louvain https github com taynaud python louvain我可以重写
  • Pandas 替换特定列上的值

    我知道这两个类似的问题 熊猫替换值 https stackoverflow com questions 27117773 pandas replace values Pandas 替换数据框中的列值 https stackoverflow
  • PyQt QFileDialog exec_ 很慢

    我正在使用自定义QFileDialog因为我想选择多个目录 但是exec 功能非常慢 我不明白为什么 我正在使用最新版本的 PyQt 代码片段 from PyQt4 import QtGui QtCore QtNetwork uic cla

随机推荐

  • 我很难理解 OPTICS 聚类算法中排序的概念

    我很难理解 OPTICS 聚类算法中排序的概念 如果有人对顺序给出逻辑和直观的解释 并解释什么 我将不胜感激res order下面的代码做了什么以及什么是可靠性图 可以通过命令 plot res 获得 library dbscan set
  • 使用 pyobjc 将元数据写入 pdf

    我正在尝试使用以下 python 代码将元数据写入 pdf 文件 from Foundation import from Quartz import url NSURL fileURLWithPath test pdf pdfdoc PDF
  • 不要在最近的应用程序中显示我的应用程序

    我希望当用户在 hdevice 中运行或关闭我的应用程序时 不要在最近的应用程序中显示我的应用程序 我的目的是 用户禁止运行我的应用程序 我很抱歉说得不好 尝试这个 为您的每一个activity android excludeFromRec
  • SwiftUI TabbedView 仅显示第一个选项卡的内容

    我正在尝试建立一个TabbedView使用以下简单代码 TabbedView Text Hello world tabItemLabel Text Hello Text Foo bar tabItemLabel Text Foo 运行时 两
  • 删除最初使用“未知分词器”创建的表?

    我有一个 sqlite3 数据库 错误消息显示 无法删除此数据库中的单个表unknown tokenizer mm 我直接用命令试了一下DROP TABLE tablename 里面最新的SQLiteSpy http www yunqa d
  • 在 QtCreator 中将 OpenCV 2.3 与 Qt 结合使用

    随着 OpenCV 2 3 版本终于发布 我想在我的系统上编译并安装这个最新版本 由于我经常使用 Qt 和 QtCreator 我当然希望能够在我的 Qt 项目中使用它 我已经尝试了几种方法几个小时 但总是出现错误 第一次尝试 使用WITH
  • perf 找不到外部模块符号

    跑步时perf它找到了我的程序的内核符号和符号 但没有找到外部模块符号 我已经编写了一个内核模块 我使用它加载insmod我怎么知道perf也找到它的符号 我正在运行 2 6 37 6 内核 无法升级 我的perf尚不支持矮人选项 但我认为
  • 让 Emacs ansiterm 和 Zsh 更好地发挥作用

    我一直在尝试在 emacs 会话中使用 Zsh 而无需 emacs 重新映射所有 Zsh 键 我发现 ansi term 对此非常有效 但是我仍然遇到一些问题 我输出了很多垃圾字符 我可以用以下方法修复它 Setup proper term
  • 如何在 Python 中获取显示器分辨率?

    获得显示器分辨率的最简单方法是什么 最好是在元组中 我创建了一个PyPI模块 https pypi org project screeninfo 为此原因 pip install screeninfo 代码 from screeninfo
  • Javascript 中的 k 均值聚类实现? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要 k means 聚类算法的 Javascript 实现 我只有一维数据 很少超过 100 个项目
  • 检查Web服务是否存在

    有人可以告诉我确定给定 URL 是否存在 Web 服务 ASP NET 的最佳方法吗 我假设一种方法类似于使用 System Net Webclient 发出请求 但我如何确定它是否是有效的 Web 服务以及我应该发出哪种类型的请求 编辑
  • Visual Studio 2008 (C#) 与 SQL Compact Edition 数据库错误:26

    与网络相关或特定于实例的 建立时发生错误 连接到 SQL Server 服务器 未找到或无法访问 验证实例名称是否为 正确并且 SQL Server 是 配置为允许远程 连接 提供商 SQL 网络 接口 错误 26 错误定位 指定服务器 实
  • 从 Symfony2 中的服务重定向

    我有一项查找页面数据的服务 但如果找不到该数据 则应重定向到主页 对于我的一生 我不知道如何在 Sf2 中做到这一点 有很多不同的方法可以使用服务和路由器 但似乎都不起作用 namespace Acme SomeBundle Service
  • Rfc2898DeriveBytes 与密码的 Sha2 哈希生成

    我最近知道使用 SHA256 为加盐密码生成密码哈希 在阅读了一些有关加盐密码和安全性的内容后 我看到rfc2898derivebytes and passwordderivebytes NET 中的类 使用有什么好处吗rfc2898der
  • Rails_admin 中的范围作为过滤器

    我在我的应用程序中使用rails admin 我的模型上有一些范围 以下是一个示例 class User lt ActiveRecord Base scope unconfirmed where confirmed at IS NULL e
  • 如何确保 ViewModel 属性在再次更改其值之前已绑定在视图上?

    有以下情况 ViewModel有一个变化非常快的对象 通过不同的线程 View通过以下方式获悉NotifyPropertyChanged界面 但似乎它的工作速度很慢 并且在视图绑定新值并绘制它之前 它会更改更多次 因此它会丢失一些值 我也尝
  • 通过 MQTT 将 LoRa 测量结果发送到 Fiware IOT 代理

    我有 LoRa 传感器 它使用 Cayenne LPP 格式有效负载发送测量值 我的网关 LOrank8v1 捕获这些数据包并将其转换为 UDP 网关中有一个服务 lora gateway bridge 它将数据包从 UDP 转换为 TCP
  • IP 标志的不分段位在哪里使用?

    我很想知道 IP 标志的 不分段 DF 位在哪里使用 因为碎片对于更高层来说是不可见的 并且他们也不关心 我也在寻找一个例子 预先非常感谢 碎片并不总是对所有上层都可见 一些早期 甚至可能是当前 微控制器 TCP IP 堆栈没有实现碎片处理
  • 如何用月份的全名替换数字月份

    使用 tidyverse 包将月份的列更改为完整的实际月份名称 请记住 尽管这些数据只有四个月 但我的真实数据集包含一年中的所有实际月份 我是 tidyverse 的新手 mydata lt tibble camp c Platinum 2
  • 让 distutils 在正确的位置查找 numpy 头文件

    在我的安装中 numpy 的arrayobject h位于 site packages numpy core include numpy arrayobject h 我编写了一个使用 numpy 的简单 Cython 脚本 cimport