python-3.x - 出现错误:/usr/bin/python:没有名为 thrift_compiler 的模块
问题描述
我正在尝试在 ubuntu 16.04 中使用 cpp 运行一个简单的 thrift 通信。我的 thrift 文件夹位于 usr/local/ 中,我的 thrift.pc 文件位于 usr/local/lib/pkgconfig.my python 文件夹中,2.7 和 3.5 版本都是在 usr/local/lib 文件夹中。我正在关注此站点以创建简单的客户端服务器通信 http://www.avabodh.com/thrift/client_server.html
所以我写了一个简单的calculator.thrift 文件代码
namspace cpp example
service Calculator
{
i64 add(1:i32 num1, 2:i32 num2);
}
在我的主文件夹中并运行
python -m thrift_compiler.main --gen cpp2 calculator.thrift
当我要生成包含所有生成的 cpp 文件的 gen-cpp2 文件夹时出现此错误
/usr/bin/python: No module named thrift_compiler
我的节俭服务器版本是 0.9.3。我对节俭协议很陌生。请帮我弄清楚。谢谢
解决方案
IIRC 基于 python 的编译器不久前已从源代码中删除。这是官方 Python 教程,它也应该适用于相当旧的版本 0.9.3
简而言之,您需要make install
Thrift 编译器,然后按照教程中的说明运行它以从 IDL 生成代码:
thrift --gen cpp calculator.thrift
要获取有关 cmdline 参数类型的更多信息
thrift --help
推荐阅读
- lombok - Lombok 不适用于容易出错的情况
- recursion - 为什么在 F# 中使用递归函数而不是 `while true do`?
- c++ - PCL - 无法在 ubuntu 中为 people_pcd_prob.cpp 生成二进制文件
- haskell - Haskell 中的高效比特流
- json - 带有 Visual Studio 2017 dot net core 的 angular 4 应用程序。如何从 typescript 文件访问 appsetting.json 配置键
- php - 某些电子邮件的 PHPMailer 身份验证失败
- javascript - Node js和socket.io没有任何错误但通过url访问时不起作用,我该怎么办?
- java - JUnit 初始化错误 - 静态方法
- java - openweathermap API 有方括号中的部分,无法在 Android Studio 中调用该 json 数据
- cordova - 用户无法下载数据