cython可以用icc编译吗?

2023-12-01

我正在尝试在 Ubuntu 14.04 上使用 icc 编译器从源代码构建 cython,因为我的 python 是使用 Intel icc 编译器编译的。

当我尝试使用安装 cython 时pip3 安装 cython然后运行 ​​cython 我收到以下错误

Traceback (most recent call last):
File "/usr/local/bin/cython", line 9, in <module>
load_entry_point('Cython==0.24', 'console_scripts', 'cython')()
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 351, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2363, in load_entry_point
return ep.load()
File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2088, in load
entry = __import__(self.module_name, globals(),globals(), ['__name__'])
File "/usr/local/lib/python3.4/dist-packages/Cython/Compiler/Main.py", line 28, in <module>
from .Scanning import PyrexScanner, FileSourceDescriptor
ImportError: /usr/local/lib/python3.4/dist-packages/Cython/Compiler/Scanning.cpython-34m.so: undefined symbol: __intel_sse2_strchr 

如何使用 icc 编译器从源代码安装 cython ?

我尝试了这个但不起作用

从cython目录(从github下载)

python3.4 setup.py CC=icc

我收到以下消息 -

/home/aa/libPython/cython/Cython/Distutils/build_ext.py:20: UserWarning:    
Cython.Distutils.build_ext does not properly handle dependencies and is deprectated. Use Cython.Build.build_ext instead.
"Cython.Distutils.build_ext does not properly handle dependencies "
 Unable to find pgen, not compiling formal grammar.
 invalid command name 'CC=icc'

CC=icc用icc构建还不够。您还应该链接到 icc (https://stackoverflow.com/a/10891764/196561;icc 会将其内部库添加到 ELF 文件中),因此可能会找到 setup.py 的链接器变量的名称LD并将其也设置为iccLD=icc(默认可能是 gcc)。

其实是LINKCC - https://github.com/cython/cython/blob/970c2fc0e676ca22016e14147ada0edba937dc6b/Cython/Build/BuildExecutable.py

CC = get_config_var('CC', os.environ.get('CC', ''))
CFLAGS = get_config_var('CFLAGS') + ' ' + os.environ.get('CFLAGS', '')
LINKCC = get_config_var('LINKCC', os.environ.get('LINKCC', CC))

因此,使用 icc 正确构建 cython 应该是CC=icc LINKCC=icc,不知道变量应该如何传递到setup.py中,检查一下如何告诉 distutils 使用 gcc? or try

CC=icc LINKCC=icc python3.4 setup.py

更新:根据 gansub 的消息,“LDSHARED=icc" env.variable 将有助于构建 cython: "您需要设置环境变量 LDSHARED=icc" -https://chat.stackoverflow.com/transcript/message/31231907#31231907 and https://stackoverflow.com/a/37914227

Syrtis Major 的更新:有文章“Cython* 中的线程并行性”https://software.intel.com/en-us/articles/thread-parallelism-in-cython作者:Nguyen, Loc Q(英特尔),2016 年 12 月 15 日,推荐:LDSHARED="icc -shared" CC=icc:

要显式使用 Intel icc 编译此应用程序,请使用以下命令执行 setup.py 文件:

 $ LDSHARED="icc -shared" CC=icc python setup.py build_ext --inplace
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cython可以用icc编译吗? 的相关文章

  • Python3如何安装.ttf字体文件?

    我想使用 python3 更精确的 Python 3 6 代码在 Windows 10 上安装 ttf 字体文件 我用谷歌搜索 但我发现的唯一的就是这个使用python在windows上安装TTF字体 https stackoverflow
  • Python3 中使用 Gtk 和 XLib 的全局热键

    我的 X System 应用程序保留在后台 并在面板中作为指示器 并且每当用户按下某个键时都应该弹出 无论活动窗口是什么 类似于菜单应用程序 尝试了以下方法 在 Linux 上用 python 监听全局组合键 https stackover
  • 对 cython 类使用深度复制函数的问题

    我最近一直在使用 Cython 来提高速度 但是当我尝试使用时copy deepcopy 发生了一些错误 这是代码 from copy import deepcopy cdef class cy child cdef public int
  • Python 类型提示:typing.Mapping 与typing.Dict

    我正在开发一个 python 项目 我们使用typing整个模块类型提示 看来我们用的是typing Dict and typing Mapping几乎可以互换 有理由选择其中一种而不是另一种吗 我自己设法回答了这个问题 typing Di
  • 将 github 上的包安装到 Spyder 中

    我一直在尝试安装并导入mpl finance来自 github 的包 在我的 Spyder 环境中没有成功 我努力了 pip install e git https github com matplotlib mpl finance git
  • Python 3 中“map”类型的对象没有 len()

    我在使用 Python 3 时遇到问题 我得到了 Python 2 7 代码 目前我正在尝试更新它 我收到错误 类型错误 map 类型的对象没有 len 在这部分 str len seed candidates 在我像这样初始化它之前 se
  • Python 3.6.1 安装位置

    我在 Ubuntu 16 服务器上安装了 Python 3 6 1 但找不到安装位置 我查看了 usr bin 其中提到了除 3 6 1 之外的所有其他版本 在哪里可以找到该版本的可执行文件 使用命令 whereis python3 6 1
  • ASCII - Asciimatics - 如何在代码中实现效果/屏幕

    几篇文章之前 有人建议我研究一下 Python 的 Asciimatics 库 我正在尝试使用以下方法来解决它 样品 https github com peterbrittain asciimatics tree master sample
  • 如何使用魔杖扭曲图像

    我正在尝试做同样的事情this https stackoverflow com questions 52090350 how to insert image in a mock up老问题但在python using wand 到目前为止我
  • While 在范围内循环用户输入

    我有一些代码 我想要求用户输入 1 100 之间的数字 如果他们在这些数字之间输入一个数字 它将打印 Size input 并打破循环 但是 如果他们在外部输入一个数字1 100 它将打印 大小 输入 并继续向他们重新询问一个数字 但我遇到
  • 如何在 Detectron2 中计算并集交集?

    我正在使用 Detectron2 进行对象检测 我已经注册了 pascalvoc 数据集并训练了一个检测模型 如何计算测试数据集的平均 IOU 我知道 detector2 有一个用于计算 IOU 的预定义函数 即 detectorron2
  • Django model.foreignKey 并返回 self.text 错误

    所以我正在 Django 中处理 model py 但遇到了 2 个 pylint 错误 我不明白为什么 这是 pylint 的问题还是我在代码中做错了什么 E1120 No value for argument on delete in
  • aiohttp 线程缓慢

    我复制了代码如何在线程中运行 aiohttp 服务器 https stackoverflow com questions 51610074 how to run an aiohttp server in a thread 它运行良好 所以我
  • 哪种方式最适合Python工厂注册?

    这是一个关于这些方法中哪一种被认为是最有效的问题 Pythonic 我不是在寻找个人意见 而是在寻找惯用的观点 我的背景不是Python 所以这会对我有帮助 我正在开发一个可扩展的 Python 3 项目 这个想法类似于工厂模式 只不过它是
  • 检查 IP 地址是否在给定范围内

    我想检查一下是否有IP180 179 77 11位于特定范围之间 例如180 179 0 0 180 179 255 255 我编写了一个函数 它将每个 IP 八位字节与其他八位字节进行比较 def match mask IP min ip
  • py2exe ImportError:没有名为 的模块

    我已经实现了一个名为 myUtils 的包 它由文件夹 myUtils 文件 组成 init py 和许多名称为 myUtils 的 py 文件 该包包含在 myOtherProject py 中 当我从 Eclipse 运行它们时可以找到
  • python 中带有 lambda 函数字典的奇怪行为

    我编写了一个用于生成 lambda 常量函数字典的函数 它是一个更复杂函数的一部分 但我已将其简化为下面的代码 def function a interpolators for key in a keys interpolators key
  • 在html表格的每一行添加点击功能

    我最近创建了一个函数 它根据用户在网站中的输入进行一些复杂的名称匹配 并将结果作为表格格式的 html 文件返回 我的问题是如何在每一行添加点击功能 df get cust info returns a pandas dataframe d
  • 嵌套列表的重叠会产生不必要的间隙

    我有一个包含三个列表的嵌套 这些列表由 for 循环填充 并且填充由 if 条件控制 第一次迭代后 它可能类似于以下示例 a 1 2 0 0 0 0 0 0 4 5 0 0 0 0 0 0 6 7 根据条件 它们不重叠 在第二次迭代之后 新
  • pytest找不到模块[重复]

    这个问题在这里已经有答案了 我正在关注pytest 良好实践 https docs pytest org en latest explanation goodpractices html test discovery或者至少我认为我是 但是

随机推荐

  • AutoCompleteTextView 未从 Google Places API 获取建议

    这是我从 Google Places API 获取地点建议的代码 但它显示一些错误 例如 无法连接到 Google Places API 我已经给出了在这段代码的底部得到的正确错误 我只需要一个 AutoCompleteTextView 来
  • 是否可以在 java (log4j) 中记录方法调用?

    是否可以在 log4j Java 中记录任何方法调用 Thanks 不 如果不编辑调用站点或方法本身就不行 我认为您所追求的是面向方面的编程 看一下AspectJ例如
  • 使用 Nodejs 实时抓取聊天记录

    我想做的是建立一个scrapingNodeJs 上的应用程序 它可以实时监控聊天并将某些消息存储在任何数据库中 我想做的是以下内容 我想从聊天平台流中捕获数据 从而捕获一些有用的信息来帮助那些正在做流媒体服务的人 但我不知道如何开始使用 N
  • Python unicode 解码错误 SUD

    好的 我有 coding utf 8 在我的脚本的顶部 它可以从数据库中提取数据 其中包含有趣的字符 并将该数据存储到变量中 但是我遇到其他问题 请参阅我提取数据 组织它 然后将其转储到变量中 如下所示 title product 1 Wh
  • 通过 Web 应用程序启动 Spark 应用程序的最佳实践?

    我想通过 Web 应用程序向用户公开我的 Spark 应用程序 基本上 用户可以决定他想要运行哪个操作并输入一些变量 这些变量需要传递到 Spark 应用程序 例如 用户输入几个字段 然后单击一个按钮 该按钮执行以下 运行火花应用1带参数
  • `eli5.show_weights` 显示的标准差与 `feature_importances_std_` 中的值不一致

    The PermutationImportance对象有一些很好的属性 例如feature importances and feature importances std 为了以 HTML 样式可视化此属性 我使用了eli5 show we
  • THREE.js 动态添加点到 Points 几何体不渲染

    我正在使用 Three js r83 我试图动态地将点添加到几何体中 但场景永远不会更新 这有效 var tmaterial new THREE PointsMaterial color 0xff0000 size 5 opacity 1
  • 设计问题:std::map的线程安全

    我正在使用 std map 来实现我的本地哈希表 该哈希表将同时被多个线程访问 我做了一些研究 发现 std map 不是线程安全的 所以我将使用互斥体在地图上进行插入和删除操作 我计划有单独的互斥锁 每个映射条目都有一个互斥锁 以便可以独
  • C++ 数组:为什么 delete[] 不起作用? [复制]

    这个问题在这里已经有答案了 当我运行以下代码时 include
  • 确定 2 个列表是否具有相同的元素,无论顺序如何? [复制]

    这个问题在这里已经有答案了 抱歉这个简单的问题 但我很难找到答案 当我比较两个列表时 我想知道它们是否 相等 因为它们具有相同的内容 但顺序不同 Ex x a b y b a I want x y评估为True 您可以简单地检查包含 x 和
  • 通过查询参数选择 Jersey 方法

    我需要实现一个使用第一个查询参数来识别操作的网络服务 即客户端调用将类似于 http localhost 8080 ws operation info or http localhost 8080 ws operation create n
  • RDS数据库的本地副本

    在过去一个小时左右的时间里 我一直在进行一些研究 并且听到了一些有关 Amazon RDS 数据库复制的相互矛盾的信息 我的数据库相当大 有 15 个表 总大小为 4 GB 那么 基本上 我是否可以创建远程 RDS InnoDB 的本地副本
  • 常驻后端 Google App Engine“/_ah/background”(Python)

    有人可以帮我理解谷歌应用程序引擎 Python 中的 ah background 是什么吗 我有一个正在运行的常驻后端 并且我看到向该端点发出的请求 它们似乎是由我的代码之外的某些东西生成的 它们似乎也由我的 ah start 处理程序处理
  • 为什么将 0.1f 更改为 0 会使性能降低 10 倍?

    为什么这段代码 const float x 16 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 const float z 16 1 123 1 234 1
  • 如何使用 DefaultEditor 方法检查 JSpinner 字段上的手动编辑

    我正在从这里调整代码 JTextField 的值更改侦听器 EDIT 2 当我按下向上微调箭头时 以下代码会出现无限循环的对话框 细绳 字符串 10 值 10 细绳 字符串 10 值 10 细绳 字符串 10 值 10 警告您需要使用任务管
  • Alamofire自定义参数

    我正在尝试将这个curl 调用转换为Swift 中的Alamofire curl X POST https content dropboxapi com 2 files download header Authorization Beare
  • 如何在 T-SQL 中获取版本号 (varchar) 列的最大值

    我有一个这样定义的表 Column Version Message Type varchar 20 varchar 100 Row 1 2 2 6 Message 1 Row 2 2 2 7 Message 2 Row 3 2 2 12 M
  • 如何在mvc中的jquery中使用@符号

    我正在尝试在 if 条件下在 javascript 中使用 符号 但它向我显示了一个错误 if password match alert yes strength 1 It is Showing me this error 您可以输入两次
  • 在 Windows 中为 Python 设置 Pocketsphinx

    有人可以帮助我在 Windows 中构建 pocketsphinx 语音识别吗 我在理解 sphinx 中提供的指令时遇到困难page 我想开发一个语音控制的计算机自动化应用程序 我正在使用 Python 我不知道如何安装sphinx 以便
  • cython可以用icc编译吗?

    我正在尝试在 Ubuntu 14 04 上使用 icc 编译器从源代码构建 cython 因为我的 python 是使用 Intel icc 编译器编译的 当我尝试使用安装 cython 时pip3 安装 cython然后运行 cython