cython安装、使用

原创 2012年09月27日 17:25:11
  • 8436
  • 0
  • 0

一、cython 在linux(ubuntu)下安装

sudo apt-get install cython

安装后  输入 cython 即可验证是否安装成功

二、 使用

1、编写   以 .pyx为扩展名的 cython程序,hello.pyx

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

2、编写python程序 setup.py,其目的是把 hello.pyx程序转化成hello.c ,并编译成so文件

  1. from distutils.core import setup
  2. from distutils.extension import Extension
  3. from Cython.Distutils import build_ext
  4. ext_modules = [Extension("hello", ["hello.pyx"])]
  5. setup(
  6. name = 'Hello world app',
  7. cmdclass = {'build_ext': build_ext},
  8. ext_modules = ext_modules
  9. )

3. 执行python程序

  1. zero@zero:~$ python setup.py build_ext --inplace

执行的结果会生成两个文件:hello.c 和 hello.so( 用PyObject* 封装好的文件)

4. 用python调用 hello.so,调用文件为test.py

  1. import hello
  2. hello.say_hello_to("hi,cython!!")

cython的主要目的是: 简化python调用c语言程序的繁琐封装过程,提高python代码执行速度(C语言的执行速度比python快)

cython安装、使用的更多相关文章

  1. cython的安装

    cython 在linux(ubuntu)下安装 sudo apt-get install cython 安装后  输入 cython 即可验证是否安装成功

  2. Cython: 快速入门

    1. Cython是什么? 它是一个用来快速生成Python扩展模块(extention module)的工具,语法是Python和c的混血.在Cython,C里的类型,如int,float,long ...

  3. python cython 模块(1)

    python 是一门动态类型的语音,其开发速度比C,C++等静态语言块, 但是速度慢很多, 而cython 通过混合C和python 的语法,可以提高python代码的运行速度 1) 安装cython ...

  4. pandas安装及使用

    一. 安装pandas1. Anaconda        安装pandas.Python和SciPy最简单的方式是用Anaconda.Anaconda是关于Python数据分析和科学计算的分发包.2 ...

  5. windows下primer3-py安装

    primer3是由怀特黑德生物医学研究所Steve Rozen等人发起的一个自动寡核苷酸分析和设计的开源项目,被广泛应用在分子生物领域.primer3-py是用python语言封装的primer3的A ...

  6. Windows10+anaconda,python3.5, 安装glove-python

    Windows10+anaconda,python3.5, 安装glove-python安装glove安装之前 Visual C++ 2015 Build Tools开始安装安装glove最近因为一个 ...

  7. [译]学习IPython进行交互式计算和数据可视化(六)

    第五章:高性能并行计算 一个反复被提及的反对使用Python进行高性能数值计算的言论是这种语言是动态解释型的,速度太慢.一种编译型低级语言,如C,能提供比它快几个数量级的运算速度.我们在第三章--使用 ...

  8. 函数计算 Python 连接 SQL Server 小结

    python 连接数据库通常要安装第三方模块,连接 MS SQL Server 需要安装 pymssql .由于 pymsql 依赖于 FreeTDS,对于先于 2.1.3 版本的 pymssql,需 ...

  9. 2019.04.13 python基础

    第一节    主要讲python背景  没什么要注意的  了解记住概念就好 python官网  python.org  自带shell  可以运行python代码 在IDLE中怎么运行代码 新建文本  ...

随机推荐

  1. SEC5 - MySQL 查询语句--------------进阶1:基础查询

    # 进阶1:基础查询 /* 语法: select 查询列表 from 表名: 特点: 1.查询列表可以是:表中的字段.常量值.表达式.表达式.函数 2.查询的结果是一个虚拟的表格 如何执行:执行谁,请 ...

  2. poj2385 Apple Catching (线性dp)

    题目传送门 Apple Catching Apple Catching Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 154 ...

  3. java静态方法使用泛型

    用法 import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.ut ...

  4. 关于同PC上存在多个版本的GeneXus

    如题 有的时候需要在不同的版本上开发  如我一般 有四个版本IDE 那么有的时候可能在安装的时候 提示安装失败 比如这样 这个时候你需要将安装好的GeneXus安装目录 全部备份一下 然后  从控制面 ...

  5. TMS320C6455BCTZA 原厂订购 原装正品

    作为一家科研公司,保证芯片的原厂品质和正规采购渠道是科学严谨的研发工作中重要的一环,更是保证研发产品可靠.稳定的基础.而研发中所遇到的各种不可预测的情况更是每个工程师向技术的山峰攀登中时会遇到的各种难 ...

  6. vue,一路走来(10)--生产环境

    生产环境下的一些问题 使用webpack 打包前端应用后,图片和css.js 资源引用会出问题,这源于开发环境的目录和生产环境的路径[url]不同 比如,开发环境的url是:http://localh ...

  7. 关于Insufficient space for shared memory file解决办法

    发现这个目录使用率100%,但是这个只是逻辑卷,具体是由于/tmp目录下,日志文件太多,导致空间被占满了.

  8. KMP,Trie,AC自动机题目集

    字符串算法并不多,KMP,trie,AC自动机就是其中几个最经典的.字符串的题目灵活多变也有许多套路,需要多做题才能体会.这里收集了许多前辈的题目做个集合,方便自己回忆. KMP题目:https:// ...

  9. HDU4035 Maze 期望DP+树形DP(好题)

    题意:有一个树形的迷宫,有N个房间(标号为1~N)以及N-1条通道将它们连通,一开始在1号房间,每进入一个房间i,有k[i]的概率被陷阱杀死回到房间1,有s[i]的概率找到出口逃离迷宫,如果没有找到出 ...

  10. HTML基础 块级元素和内联元素

    大多数 HTML 元素被定义为块级元素或内联元素. 块级元素包括:body  from  select  textarea  h1-h6 html table  button  hr  p  ol   ...