【问题标题】:Distributing packages with Apache Thrift使用 Apache Thrift 分发包
【发布时间】:2014-09-07 14:33:42
【问题描述】:

我正在开发一个使用 Thrift 的 Python 包。我从未使用过 setuptools/pip 但我真的很想。 我只是想知道分发生成的代码的最佳方式是什么? 现在,我的代码使用了

import sys
sys.path.append('../thrift/gen-py') # Relative directory :(

hack 以便能够访问 gen-py 目录中生成的代码,但我需要有关客户如何轻松使用我的 Thrift 生成的 API 的想法。

【问题讨论】:

  • 我猜“使用 ZIP 或复制命令”不是您想要的。你能稍微加强一下这个问题吗?我不知何故难以掌握您面临的真正问题。为什么不能只复制文件?相对路径有什么不好?关于“我需要关于客户如何使用我的 Thrift 生成的 API 的想法”,API 用户的典型方式是提供 IDL 文件并让人们自己生成代码。 Thrift 是关于跨平台、跨语言的 RPC。为所有这些提供生成的代码根本不可行。

标签: python thrift software-distribution


【解决方案1】:

假设您需要 thrift 生成的 Python 代码供 Python 项目使用,而不是您正在使用的项目,

对我来说效果很好的是创建一个source distribution。使用它有几个优点。

  1. 您可以对生成的代码进行版本控制并分发它

  2. 您可以将包装器模块添加到在 gen-py 生成的模块/包中,客户端无需担心 thrift 的内部结构(TExceptions 等)

  3. 源代码可以通过pip install your-thrift-lib.tar.gz 安装,不需要与您的项目一起驻留。

https://docs.python.org/2/distutils/setupscript.html 是了解如何创建 python 包的最佳位置

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-23
    • 2012-11-11
    • 1970-01-01
    • 2012-10-04
    • 1970-01-01
    • 2020-12-02
    • 2021-10-05
    • 2015-07-28
    相关资源
    最近更新 更多