首页 > 编程语言 >如何运行 rpcz python example

如何运行 rpcz python example

时间:2023-06-15 23:06:46浏览次数:40  
标签:.. python rpcz file error include example


试着运行 rpcz-python 的 example。过程记录如下。

假设protobuf-py已经按照protobuf的安装说明安装了。
发现 protobuf-2.5.0版的python包是python2的,没有找到python3的。
试着2to3.py转换一下,结果转换后无法安装。
只好将python3.3换成python2.7

python2.7的mimetypes.py有错误,注册表中HKEY_CLASSES_ROOT有中文的扩展名时,


先编译 rpz, 将生成的
protoc-gen-cpp_rpcz.exe
protoc-gen-python_rpcz.exe
复制到系统搜索目录,如与protoc.exe放在一起。

进入 rpcz 的 python 目录,运行
python setup.py install

出现如下的各种错误:

../include\rpcz/connection_manager.hpp(21) : fatal error C1083: Cannot open incl
ude file: 'boost/function.hpp': No such file or directory
../include\rpcz/macros.hpp(20) : fatal error C1083: Cannot open include file: 'g
oogle/protobuf/stubs/common.h': No such file or directory
../include\rpcz/rpc.hpp(24) : fatal error C1083: Cannot open include file: 'rpcz
/rpcz.pb.h': No such file or directory
LINK : fatal error LNK1181: cannot open input file 'rpcz.lib'
LINK : fatal error LNK1104: cannot open file 'libboost_thread-vc100-mt-1_54.lib'



直接改了setup.py如下。

  

ext_modules=[
        Extension("rpcz.pywraprpcz", ["cython/pywraprpcz.cpp"],
                  libraries=["rpcz", "libprotobuf", "libzmq"],
                  include_dirs=['../include', '../build/src',
                      'D:/Boost/include/boost-1_54',
                      'G:/workspace/rpcz_jinq/src',
                      'D:/LibSrc/protobuf-2.5.0/vsprojects/include'],
                  library_dirs=['../build/deps/lib', '../build/src/rpcz',
                      'D:/Boost/lib',
                      'G:/workspace/rpcz_jinq/src/rpcz/Release',
                      'D:/LibSrc/zeromq-4.0.3/builds/msvc/Release',
                      'D:/LibSrc/protobuf-2.5.0/vsprojects/Release'],
                  language='c++')
    ],


不知道如何做成通用的脚本。
rpcz原来应该是建立一个固定位置的build目录,其中有deps目录,包含所有库。
这就要求cmake的构建目录固定为build.
 
python2.7是用VC2008编译的,用VC2010编译python扩展会有问题。
会报错:
error: Unable to find vcvarsall.bat
强制使用VC2010:
SET VS90COMNTOOLS=%VS100COMNTOOLS%
参考:http://stackoverflow.com/questions/2817869/error-unable-to-find-vcvarsall-bat

最后进入 examples\python,先 generate_protos.gy 生成消息和接口,然后运行 server, client.
运行时需要 libzmq.dll, rpcz.dll.

标签:..,python,rpcz,file,error,include,example
From: https://blog.51cto.com/u_16162321/6495472

相关文章

  • python: read mysql
    sql:createdatabasegeovindu;usegeovindu;droptableBookKindList;#书目录createtableBookKindList(BookKindIDINTNOTNULLAUTO_INCREMENT,#自动增加BookKindNamenvarchar(500)notnull,BookKindParentintnull,PRIMARYKEY(BookKindID)......
  • rpcz VC2010 构建
    rpczVC2010构建rpcz是应用ZeroMQ和Protobuf开发的RPC.见:https://github.com/reinferio/rpcz及https://code.google.com/p/rpcz/rpcz的CMake脚本应该是仅用于Linux.用于VC需要更改错误。CMakeErroratD:/ProgramFiles/CMake2.8/share/cmake-2.8......
  • python下载文件的N中方式
    今天我们一起学习如何使用不同的Python模块从web下载文件。此外,你将下载常规文件、web页面、AmazonS3和其他资源。最后,你将学习如何克服可能遇到的各种挑战,例如下载重定向的文件、下载大型文件、完成一个多线程下载以及其他策略。1、使用requests你可以使用requests模块从一个......
  • Python之pandas基础
    1.pandas简介:paneldataanalysis(多维数据分析)pandas中具有两种基本的数据存储结构,存储一维values的Series和存储二维values的DataFrame;Series:Series一般由四个部分组成,分别是序列的值data、索引index、存储类型dtype、序列的名字name。其中,索引也可以指......
  • 【python基础】函数-参数形式
    鉴于函数定义中可能包含多个形参变量,因此函数调用中也可能包含多个实参变量。向函数传递实参变量给形参变量的方式有很多,可使用位置参数,这要求实参变量的顺序与形参变量的顺序相同;也可使用关键字参数,都由变量名和值组成,简称名称-值对;还可使用列表(元组)和字典。1.位置参数调用函数......
  • 在Python中根据字典值寻找键
    问题描述  在处理VOC数据集时,创建的字典如下所示label_map={0:'background',1:'aeroplane',2:'bicycle',3:'bird',4:'boat',5:'bottle',6:'bus',7:'car',8:'cat',9:......
  • python: enforcing type check on function using decorator
     deftypeassert(*ty_args,**ty_kwargs):"""利用装饰器对函数参数强制性类型检查enforcingtypecheckonfunctionusingdecorator:paramty_args::paramty_kwargs::return:"""......
  • Python下载安装
    Python下载的官网:WelcometoPython.org      会出现四个python文件将这个拖到桌面查看Python是否安装好两种方式:1.IDLE编辑器 2.使用运行对话框下载PychamPycham官网:下载PyCharm:JetBrains为专业开发者提供的PythonIDE 安装成功首......
  • 通过python封装接口获取淘宝商品页面数据、淘宝商品详情数据
    可以使用GET或POST方法,请求参数中应包含商品详情页面数据、标题、价格、图片、库存、销量等信息。解析返回的response中的HTML页面或JSON格式数据,提取需要的商品信息,如商品标题、价格、评价人数等。使用pandas库将提取的商品信息保存到数据框中,以方便后续处理和分析。......
  • python2安装mysqldb
     yuminstallmariadb-devel 或yuminstallmysql-devel 编辑_mysql.c注释2005行 ......