setuptools和grpc/protobuf Python模块构建插件
项目描述
setuptools插件,用于将protobuf和gRPC服务文件编译成Python模块。
此包提供了用于setuptools的build_grpc命令。其目的是在setuptools打包的build步骤中构建gRPC模块。
这不是什么
这不是一个命令行脚本。
直接调用setup.py(例如python setup.py build_grpc)已被弃用,将在未来版本的setuptools中删除。
如果您想为构建gRPC模块使用命令行界面(CLI),请直接使用grpcio-tools(这正是此包在内部使用的工具)。安装该包后,您可以通过运行python -m grpc_tools.protoc --help来了解其选项。
安装
您可能不应该直接安装此包。相反,您应该将其添加到
选项
命令build_grpc提供以下选项
proto_files:用于编译的protobuf文件的glob模式列表,每行一个。路径相对于当前目录。可以使用**来匹配任何文件和零个或多个目录。默认值为空列表。
grpc_files:用于编译的grpc服务文件的glob模式列表,每行一个。路径相对于当前目录。可以使用**来匹配任何文件和零个或多个目录。默认值为空列表。
proto_path:包含protobuf文件的根目录的路径。此路径通过-I选项传递给grpc_tools.protoc。默认值是.(当前目录)。
output_path:生成python模块的根目录的路径。此路径通过--python_out或--grpc_python_out选项传递给grpc_tools.protoc。默认值是.(当前目录)。
配置
您必须将setuptools-grpc指定为构建后端要求的组成部分。这遵循了在PEP 518中引入的规范。您可以在setuptools文档中了解更多信息。
# file: pyproject.toml
[build-system]
requires = ["setuptools", "setuptools-grpc"]
build-backend = "setuptools.build_meta"
接下来,您需要将build_grpc实际添加为build命令的子命令。这需要在setup.py中完成,但如果setuptools将来允许声明性配置,我们将很高兴提供支持。
# file: setup.py
from setuptools import setup
from setuptools.command.build import build
class custom_build(build):
sub_commands = [
('build_grpc', None),
] + build.sub_commands
setup(cmdclass={'build': custom_build})
最后,您需要配置setuptools_grpc本身。这可以在setup.py中完成,但我们建议在setup.cfg中进行声明性配置。根据您的项目结构,您可能不需要以下某些选项。您始终需要指定至少proto_files或grpc_files,否则setuptools_grpc将不会执行任何操作。
# file: setup.cfg
[build_grpc]
proto_files = src/**/*.proto
grpc_files = src/**/*_grpc.proto
proto_path = ./src
output_path = ./out
项目详情
下载文件
下载适合您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分发
构建分发
setuptools-grpc-0.5.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0df3069952b424c0eabb17ee96c59ff751261f8398b58b3f8970e9dec5b25a47 |
|
MD5 | 09632ac735e75308c5fc726c78be60a8 |
|
BLAKE2b-256 | 639bef677f3a7e28b2ade809da3cc44c18a351f4bbfecb0c4809ec51db1d874c |
setuptools_grpc-0.5-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3c111d629b531ddf86e375891fbe8481f18538e4c05e9d631ad9e22632fb77e7 |
|
MD5 | 11f790e6b65f1a3b84d27d27cefacefc |
|
BLAKE2b-256 | cf2fd332a2265239ddb2a0a3fd4af2b5fd9eb862eba2d870c397562995605fa8 |