Compilateur de tampons de protocole emballé PYPI
Un package PYPI fournissant un protoque PIP-installable exécutable.
Ce package ne fournit aucun code Python, il ne fournit que l'exécutable protoc non modifié. Le versioning suit donc également le versioning officiel de protoc et est différent du versioning de l'exécution de Protobuf.
La différence de ce paquet en protoc-roue et protoc-roue-0 est que ces packages enveloppent le protoc en python. Tandis que ce package fournit uniquement l'exécutable protoc , sans rien d'autre. En conséquence, vous pouvez appeler directement protoc après avoir installé ce package dans votre environnement. Cela le rend parfait pour fournir l'exécutable protoc partout où vous avez besoin de la chose réelle pour être disponible sur votre PATH , par exemple avec BUF (si vous le faites, vous voudrez peut-être également consulter BUF-EXE).
Notez que ce projet n'est pas affilié ou approuvé par Google ou l'équipe Protobuf. Le suffixe
-exedans le nom a été choisi pour s'assurer que le nomprotocreste disponible, juste au cas où il y aura un package officiel.
AVERTISSEMENT Le processus de redistribution n'est pas encore entièrement automatisé, car je suis en train de construire l'outillage. Actuellement, seule la dernière version
protocest disponible, et elle a été créée semi-manuelle avec les scripts que vous voyez actuellement dans le référentiel. Le plan est d'automatiser tout complètement et de fournir de nouvelles versionsprotocavec 24 heures.
Utilisez simplement protoc comme exécutable dans l'abstraction de processus que vous utilisez, quel que soit votre système d'exploitation. La seule exigence est que votre PATH est réglé correctement afin que le protoc (ou protoc.exe sur Windows) soit trouvé. Par exemple, vous pouvez utiliser pip et un environnement virtuel de base:
# example.py
import subprocess
subprocess . check_call ([ "command" , "-v" , "protoc" ])
subprocess . check_call ([ "protoc" , "--version" ]) cd /tmp
python -m venv venv
source venv/bin/activate
pip install protoc-exe
command -v protoc # /tmp/venv/bin/protoc
protoc --version # libprotoc x.y[.z]
python example.py
# /tmp/venv/bin/protoc
# libprotoc x.y[.z]
rm -fr venv/Notez que l'exemple utilise un shell conforme POSIX, mais il fonctionne également sur les systèmes non-Posix. Jetez un œil aux actions GitHub.