首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将cython与gsl结合使用

将cython与gsl结合使用
EN

Stack Overflow用户
提问于 2014-11-02 14:40:06
回答 1查看 1.8K关注 0票数 2

我正在使用Cython,我想要导入gnu科学C库。

代码语言:javascript
运行
AI代码解释
复制
#gsl_test.pyx

cdef extern from "gsl/gsl_math.h":
double gsl_pow_int (double x, int n)
def gibbs(double k, int t):    
y = gsl_pow_int (k, t)
return y

#setup.py 

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

include_gsl_dir = "/home/sulabh/include/"
lib_gsl_dir = "/home/sulabh/lib/"


ext = Extension("sl", sources = ["gsl_test.pyx"],include_dirs=[numpy.get_include(),include_gsl_dir],library_dirs=[lib_gsl_dir],libraries=["gsl"])

setup(ext_modules=[ext],cmdclass = {'build_ext': build_ext})



python setup.py build_ext --inplace

which resulted into sl.o

我已经输入python控制台,通过编写import sl导入这个模块,但是我得到了一个错误

代码语言:javascript
运行
AI代码解释
复制
import sl
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: /home/sulabh/lib/libgsl.so.0: undefined symbol: cblas_dasum

下面是我的包配置的样子

代码语言:javascript
运行
AI代码解释
复制
prefix=/home/sulabh/gsl-1.16/..
exec_prefix=/home/sulabh/gsl-1.16/..
libdir=/home/sulabh/gsl-1.16/../lib
includedir=/home/sulabh/gsl-1.16/../include
GSL_CBLAS_LIB=-lgslcblas

名称: GSL描述: GNU科学图书馆版本: 1.16 lib:-L/home/sulabh/GSL-1.16/./lib -lgsl ${GSL_CBLAS_LIB} -lm -lm C标志:-I/home/sulabh/GSL-1.16/./include

有人能帮忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-02 21:08:01

在函数调用Extension中的库列表中添加"gslcblas“,即

代码语言:javascript
运行
AI代码解释
复制
ext = Extension(...,libraries=["gsl", "gslcblas"])

或者你想添加的其他BLAS库。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26705303

复制
相关文章
GSL+DevC++使用
在DEV C++中配置GSL1.8库 前面写了如何在vs2005中添加gsl,本文所所述为在dev c++中使用gsl库,由实践总结而得。 准备软件: 1、Orwell Dev C++ 5.6.2 No Compiler Setup.exe(devc++的社区升级版,很不错的) 2、gsl-1.8.exe 3、TDM-GCC4.7.1-2.exe,安装后,目录同样名为mingw32(也可以安装mingw版) 步骤如下: 1、安装完以上3个软件。 2、将 gsl 安装目录下的 bin 下 libgsl.dll,libgslcblas.dll 复制到mingw32的bin目录中,lib 下 ibgsl.a,libgslcblas.a 复制到 mingw32目录下的 lib 目录下;include 下的整个 gsl 文件夹复制到mingw32目录下的 include 目录下。 3、 打开 dev-c++,工具-编译选项-编译器,选上“在连接器命令行加入如下命令”,加入-lgsl -lgslcblas(中间有空格,即在连接时连上 libgsl.a,libgslcblas.a,gcc 可以自动识别前缀 lib 和后缀.a) 此时在用Dev C++打开一个gsl的c文件,如下所示:
用户4645519
2020/09/07
1.1K0
高效地将 TailwindCSS 与 Nuxt 结合使用
在这篇文章中,我们将了解如何在 TailwindCSS 的官方 Nuxt 模块的帮助下有效地将 TailwindCSS 与 Nuxt 应用程序结合使用。我们还将了解如何将 SVG 图标与 TailwindCSS 一起使用,而不是直接使用图像或 SVG 图标,以及如何基于给定图像为 TailwinCSS 构建自定义调色板。
用户4235284
2023/10/14
8480
高效地将 TailwindCSS 与 Nuxt 结合使用
将 SVG 与媒体查询结合使用
在 HTML 文档中,我们可以根据视口的条件显示、隐藏或重新排列页面的某些部分。例如,如果浏览器窗口的宽度为 480 像素,我们可能会将导航从水平导航移动到垂直可折叠列表。将 SVG 与媒体查询一起使用时,我们可以做类似的事情。
玖柒的小窝
2021/09/12
6.4K0
将 SVG 与媒体查询结合使用
利用cython将python转为c代码
3. gcc `python-config --cflags` `python-config --ldflags` test.c -o test
py3study
2020/01/08
1.8K0
CA2013:请勿将 ReferenceEquals 与值类型结合使用
使用 System.Object.ReferenceEquals 方法来测试一个或多个值类型是否相等。
用户4268038
2022/02/20
1.2K0
将Testinfra与Ansible结合使用以验证服务器状态[DevOps]
Testinfra是一个功能强大的库,用于编写测试以验证基础结构的状态。 与Ansible和Nagios结合使用,它提供了一个简单的解决方案,以代码形式实施基础架构。
yyx
2020/01/16
2K0
将Testinfra与Ansible结合使用以验证服务器状态[DevOps]
提升 Python 性能 - Numba 与 Cython
花下猫语:最近,读者微信群里又频繁聊到了 Python 的性能问题,这真是老生常谈了。我想起自己曾收藏过几篇关于如何提升性能的文章,似乎挺有帮助的,便去联系了下作者,现在已经取得转载授权啦。今天分享其中一篇,后续还会有其它相关分享,希望对读者们也有所帮助。
Python猫
2019/08/08
1.2K0
提升 Python 性能 - Numba 与 Cython
使用Cython保护Python源代码
使用Cython保护Python源代码 **保护您的Python源不受不必要的影响,说起来容易做起来难,因为.pyc字节码是可反编译的,并且混淆很容易被反向工程。我花了一段时间才弄清楚隐藏Python代码的正确方法...... Cython是一个优化的静态编译器,可以将.py模块转换为高性能的C文件,生成的C文件可以毫不费力地编译到本机二进制库中。编译完成后,无法将编译库转换回可读的Python源代码! 1. 安装 Cython pip install cython 2. 添加 hello.pyx 假
py3study
2020/01/13
2.3K0
Linkerd 2.10(Step by Step)—将 GitOps 与 Linkerd 和 Argo CD 结合使用
GitOps 是一种使用 Git 作为单一事实来源自动管理和交付 Kubernetes 基础设施和应用程序的方法。它通常利用一些软件代理来检测和协调 Git 中受版本控制的工件与集群中运行的工件之间的任何差异。
为少
2021/07/07
1.9K0
Cython初识
python作为一门强大的脚本语言,优势自然不必说。但是,当我们的模型较复杂,运算量较大的时候,python的短板就会出现,就是运算速度慢。当然,解决这一问题有很多方法,比如pypy的jit技术,但是抛开稳定性不提,使用pypy有很多限制,而且不是那么工程化。所以,向大家介绍Cython,方便将别的应用场景中的一些重计算的部分单独取出来,然后用Cython改写,独立成模块来提高运算速度。
种花家的奋斗兔
2020/11/13
8870
使用Cython将Python代码转为C语言,从而提高代码保密性
Cython是Python编程语言和扩展 Cython 编程语言(基于Pyrex)的优化静态编译器。 它使得为 Python 编写 C 扩展就像 Python 本身一样容易。这允许编译器从 Cython 代码生成C代码。 显而易见的是,它能将python代码翻译为C代码,然后生成符合Python/C API的动态链接库。这样就能更好的保护你的python源码不被破解。例如你的代码包含了核心的量化交易策略。将其转为机器语言才能更好的保护你的核心代码。另外一方面,Cython也带来了一些扩展,使得你可以通过添加静态类型声明,将原本的python代码的性能逼近纯C语言的性能。
zy010101
2022/09/21
5.5K0
WeTrust-将储蓄与区块链相结合
我们之前曾研究过区块链对于没有银行帐户的人的作用。WeTrust是一家小额信贷的创业公司,该公司正准备加速在新兴市场中引入分散式小额贷款模式。
飞翔的猪脚粉
2018/03/21
1.6K0
WeTrust-将储蓄与区块链相结合
badboy与jmeter的结合使用
简介:badboy是用C++开发的动态应用测试工具,拥有强大的屏幕录制和回放功能,可提供图形结果分析功能,同时badboy提供了将Web测试脚本直接导出生成jmeter脚本的功能,为jmeter支持的jmx格式脚本;他是一款免费的web自动化测试工具,一般与jmeter结合使用。
Wu_Candy
2022/07/04
1.1K0
badboy与jmeter的结合使用
OSG与Shader的结合使用
以往在OpenGL中学习渲染管线的时候,是依次按照申请数据、传送缓冲区、顶点着色器、片元着色器这几个步骤编程的。OSG是OpenGL的一些顶层的封装,使用shader的时候看不到这些步骤了,所以有点不习惯。这里我总结了两个最简单的例子。
charlee44
2019/09/11
2.3K0
使用Cython和Nuitka编译Python脚本
在Python中,可以使用py2exe或PyInstaller之类的工具将Python脚本编译成二进制文件,从而提升可移植性,并在一定程度上提升了性能。不过这类工具的实现只是将py文件编译成pyc或pyo,在安全性上还是弱了一些,存在被反编译的风险。
drunkdream
2023/10/19
8660
VS2005下使用GSL-1.15小结
最近在复习高等数学,有时为了验证顺便复习下C语言,看了看自己下载收集的软件,发现C语言有一个数学工具包,是GNU开发的,叫做GSL——GNU Scientific Library,中文:C++科学计算库,主页为www.gnu.org/s/gsl/,主要是在linux环境下运行的,幸好牛人们已经做好了windows版的移植(有条件的就在linux下编译gsl喽),有:Gsl for Windows - GnuWin32 - SourceForge,https://code.google.com/p/oscats/(gsl-1.15-dev-win32.zip 5.9 MB),也可以在windows下安装MSYS或是cygwin下编译源代码获得适合在windows下运行的动态链接库等,具体的我也不太清楚,网上看了,具体的编译流程比较复杂,索性直接下载牛人们编译好的。
用户4645519
2020/09/07
8040
Cython入门
setup这一年也是遇到了很多次,随着python编程学习的不断深度对于python的了解也不断在增加,这里做一次简单的小节。
狼啸风云
2019/11/03
2.1K0
PHP-ThinkPHP将后台模板与框架做结合
商品列表 Goods控制器index方法 goods_list.html -> index.html
cwl_java
2020/03/27
2.6K0
使用Cython加速你的Python代码
如果您曾经用Python编写过代码,那么您可能花费了比您希望的更多的时间等待某些代码块的执行。虽然有一些方法可以提高代码的效率,但是它很可能仍然比C代码慢。这主要归结为Python是一种动态编程语言,并将许多C在编译期间负责的事情转移到运行。
HuangWeiAI
2020/07/27
9840
使用Cython加速你的Python代码
点击加载更多

相似问题

将GSL与cygwin g++结合使用

11

OpenBLAS与GSL的结合

12

将threadpoolexecutor与cython的nogil结合使用

121

Cython、C++和gsl

20

如何在cython块中使用gsl集成?

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档