بروتوكول بروتوكول بروتوكول PYPI
حزمة PYPI التي توفر PIP protoc قابلة للتنفيذ.
لا توفر هذه الحزمة أي رمز Python ، فهي توفر فقط protoc غير القابلة للتنفيذ. وبالتالي ، يتبع الإصدار أيضًا الإصدار الرسمي لـ protoc ، ويختلف عن إصدار وقت تشغيل Protobuf.
إن اختلاف هذه الحزمة في WHEEL-WHEEL و PROTOC-0 هو أن تلك الحزم تلتزم protoc في Python. في حين أن هذه الحزمة توفر فقط protoc قابلة للتنفيذ ، دون أي شيء آخر. نتيجة لذلك ، يمكنك الاتصال مباشرة بـ protoc بعد تثبيت هذه الحزمة في بيئتك. هذا يجعلها مثالية لتوفير برنامج protoc أثناء الحاجة إلى أن يكون الشيء الفعلي متاحًا في PATH ، على سبيل المثال مع BUF (إذا كنت قد ترغب في التحقق من BUF-exe أيضًا).
لاحظ أن هذا المشروع لا ينتمي إلى أو تأييده من قبل Google أو فريق Protobuf. تم اختيار لاحقة
-exeفي الاسم لضمان بقاء اسمprotocمتاحًا ، فقط في حالة وجود حزمة رسمية.
إن تحذير عملية إعادة التوزيع لم يتم تلقائيًا بالكامل بعد ، حيث إنني بصدد بناء الأدوات. حاليًا يتوفر أحدث إصدار
protocفقط ، وقد تم إنشاؤه نصفًا يدويًا مع البرامج النصية التي تراها حاليًا في المستودع. تتمثل الخطة في أتمتة كل شيء بالكامل ، وتوفير إصداراتprotocجديدة مع 24 ساعة.
ما عليك سوى استخدام protoc باعتباره القابل للتنفيذ في أي عملية تجريد تستخدمها ، بغض النظر عن نظام التشغيل الخاص بك. الشرط الوحيد هو ضبط PATH بشكل صحيح بحيث تم العثور على protoc (أو protoc.exe على Windows). على سبيل المثال ، يمكنك استخدام pip وبيئة افتراضية أساسية:
# 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/لاحظ أن المثال يستخدم قذيفة متوافقة مع POSIX ، ولكنه يعمل على أنظمة غير بوسكس أيضًا. إلقاء نظرة على تصرفات github.