【发布时间】:2014-06-03 12:03:54
【问题描述】:
我正在测试学习 Apache Thrift 的简单程度,它看起来很有希望。一个主要问题:第一个教程不起作用...
我有 Windows 7、Python 2.7,并获得了适用于 Windows v.0.9.1 的 Thrift .exe。我宁愿不从源代码编译,因为我不使用 Cygwin 等。exe 给出了下面描述的问题。所以我继续尝试使用 Chocolatey 安装 Thrift 节俭 效果很好,给了我 Thrift v0.9.0。但是这个版本会导致与 exe 相同的行为,如下所述。
当我运行在http://thrift.apache.org/tutorial/py 找到的教程时,我得到以下信息:
C:\Users\Me\Desktop\Thrift>thrift -r --gen py tutorial.thrift
[WARNING:C:/Users/Me/Desktop/Thrift/tutorial.thrift:59] Could not find include file shared.thrift
[ERROR:C:/Users/Me/Desktop/Thrift/tutorial.thrift:123] (last token was 'shared.SharedService')
Service "shared.SharedService" has not been defined.
希望 exe 对某人有用,因为我很想避免这种需要从源代码构建的情况。
【问题讨论】:
-
"希望 exe 可以工作" - 确实如此。这只是您的假设,EXE 是问题所在。这个假设是错误的,可以通过尝试 Linux 构建很容易地证明这一点,它的行为完全相同。一般来说,您可能会重新考虑解决问题的策略。与其花时间忙于安装和下载东西,最后一味地责怪其中一个工具,不如尝试解决真正的问题,这需要您首先尝试了解问题的全部内容.然后尝试解决它。
-
你能反驳我帖子的第二行吗?教程旨在盲目地遵循以便理解。如果你想了解 Thrift,你从哪里开始?教程。与其纠正我的问题解决方法,不如看看thrift.apache.org/tutorial。没有引用您在其中提到的文件,并且它们不随 exe 一起提供。感谢您建议它是我缺少的 IDL 文件。由于这是教程 1,我还没有掌握阅读错误消息。
-
你怪EXE了,EXE没坏。第一条消息也很清楚地说明了这一点:
tutorial.thrift:59] Could not find include file shared.thrift。查看第 59 行,您会发现include语句,对吗?无论如何,再次感谢您的信息,非常有帮助。我看到很多人对此问题有疑问,但从未真正弄清楚原因。