1 编译(保留了C和python语言,简化编译)

# ./configure --without-java --without-cpp --without-php --without-erlang

#make && make install

2 安装python thrift模块

#easy_install thrift

3 生成协议(python)示例来之于http://thrift.apache.org/tutorial/py, 记得第二步中两个文件都要下载

#thrift -r --gen c tutorial.thrift

生成了gen-py文件夹,

4 执行验证 - 示例python脚本下载到thrift-0.9.1/lib/py目录中,gen-py文件夹也mv过来

# python thrift-server.py

Starting the server...

ping()

add(1,1)

calculate(1, Work(comment=None, num1=1, num2=0, op=4))

calculate(1, Work(comment=None, num1=15, num2=10, op=2))

getStruct(1)

# python thrift-client.py

ping()

1+1=2

InvalidOperation: InvalidOperation(what=4, why='Cannot divide by 0')

15-10=5

Check log: 5

注释:thrift依赖请查看http://thrift.apache.org/docs/install/, python不依赖特殊的库(如C++依赖boost),Requirements for building from source提到的依赖可以从搜索引擎查找代码,编译就是简单的./configure
&& make && make install

操作系统:centos

thrift版本:0.9.1

python: 2.7

Thrift编译与验证 - python的更多相关文章

  1. Visual Studio 2013 编译 64 位 Python 的 C 扩展 (使用 PyObject 包装)

    对于 32 位 Python 的 C 扩展,以前用过 mingW32 编译, 但是 mingW32 不支持 64 位 Python 的 C 扩展编译,详情可见 stackoverflow,这位前辈的大 ...

  2. IDEA集成的 Thrift 插件进行 thrift 编译

    IDEA集成的 Thrift 插件进行 thrift 编译 注意 1.thrift文件要放在source目录,才有compile选项 2.generator list的output path不用加包名 ...

  3. 编译可移植的python

    1. 在低版本系统机器上,编译python: cd Python-2.7.15/Modules vim Setup.dist 修改下述代码: ########### sed -i 's/#SSL=\/ ...

  4. Python3.6编译安装以及python开发之virtualenv与virtualenvwrapper

    Python3.6编译安装 下载python源码包 先到安装目录 cd /opt 下载源码包 wget https://www.python.org/ftp/python/3.6.2/Python-3 ...

  5. thrift编译java的问题-(安装thrift0.8.0成功-编译mapkeeper.java成功)

    上一次帖子说了thrift编译java出现错误,由于只用到cpp版的,就将此略过.但是老版本的ycsb不是很好用,于是决定以locall的方式编译mapkeeper供最新版ycsb使用.目前根据 ht ...

  6. 《精通并发与Netty》学习笔记(07 - 基于Thrift实现Java与Python的RPC调用)

    上节我们介绍了基于Thrift实现java与java的RPC调用,本节我们基于Thrift实现Java与Python的RPC调用 首先,修改data.thirft文件,将命名空间由java改为py n ...

  7. python并发编程-多线程实现服务端并发-GIL全局解释器锁-验证python多线程是否有用-死锁-递归锁-信号量-Event事件-线程结合队列-03

    目录 结合多线程实现服务端并发(不用socketserver模块) 服务端代码 客户端代码 CIL全局解释器锁****** 可能被问到的两个判断 与普通互斥锁的区别 验证python的多线程是否有用需 ...

  8. thrift编译安装

    关于thrift的介绍:http://www.ibm.com/developerworks/cn/java/j-lo-apachethrift/ Apache Thrift 是 Facebook 实现 ...

  9. Ubuntu16.04下编译vim with python support失败的原因

    - youcompleteme原话:On Ubuntu 16.04, Python support was not working due to enabling both Python2 and P ...

随机推荐

  1. 笔记本自带 WiFi 功能

    在寝室,动网速基本崩溃.平时打电话什么的都得到阳台,有时候还听不清声音.对于学校的环境,我不说什么了. 笔记本可以上网,那就要满足手机等移动电子设备上网的上网需求. WiFi 热点就显得尤为重要了. ...

  2. spring使用elasticsearch 5.x

    elasticsearch客户端选择 这里使用transport建立elasticsearch客户端 applicationContext.xml配置,属性可以采用读取属性文件的方式.参考类Prope ...

  3. 记录一下我使用的vim的配置文件

    还不是很完美: "au BufReadPost * if line("'\"") > 0|if line("'\"") &l ...

  4. java多线程编程--基础篇

    一.基本概念 a.操作系统中进程与线程的概念 现在的操作系统是多任务操作系统.多线程是实现多任务的一种方式. 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间, 一个进程中可以启动 ...

  5. HTML5 UI框架Kendo UI Web教程:创建自定义组件(三)

    Kendo UI Web包 含数百个创建HTML5 web app的必备元素,包括UI组件.数据源.验证.一个MVVM框架.主题.模板等.在前面的2篇文章<HTML5 Web app开发工具Ke ...

  6. Aspect Oriented Programming (AOP)

    切面”指的是那些在你写的代码中在项目的不同部分且有相同共性的东西.它可能是你代码中处理异常.记录方法调用.时间处理.重新执行一些方法等等的一些特殊方式.如果你没有使用任何面向切面编程的类库来做这些事情 ...

  7. 引用参数,值参数,ref,out

    1,一个参数只有在引用的时候才能改变其值,这是一种情况 2,一个参数在引用后要永久的改变其值(可以用返回参数的形式) 3,多个参数在引用后要永久的改变其值或者多个参数中的部分(返回参数就适合了,因为只 ...

  8. [转]http://m635674608.iteye.com/blog/1750833

    转载地址:http://m635674608.iteye.com/blog/1750833 在第一次使用TortoiseSVN从服务器CheckOut的时候,会要求输入用户名和密码,这时输入框下面有个 ...

  9. android开源项目总汇

    http://www.cnblogs.com/wanqieddy/p/3709466.html

  10. java语言的认识

    class Hello{ public static void main(String [] args) { System.out.println("Hello Word 你好") ...