بعد تطوير أداة مساعدة لوحدة التحكم ، قررت نشرها على PyPI. حسنًا ، حقًا ، ما الذي يمكن أن يكون أفضل من إتاحته من خلال تثبيت النقاط ؟ غوغلينغ ما هو مطلوب لهذا ، قد تتعثر على المنشور الوحيد الذي وجدته في موضوع ، ليس فقط من عام 2014 ، كما يتطلب منك إنشاء مجموعة من المجلدات والملفات لأشياء (أنت) غير الضرورية تمامًا.
كيف يمكن حل هذه المشكلة دون الكثير من الصداع في عام 2019؟ لقد سبق أن طرحت هذا السؤال ، وبعد أن قرأت الكثير من الوثائق ، قمت بإنشاء هذا البرنامج التعليمي لك. هنا دليل خطوة بخطوة.
1. إنشاء حساب على PyPI ( رابط التسجيل )
2. قم بإنشاء نقطة إدخال للتطبيق (على سبيل المثال ، ملف enter.py بالمحتويات التالية)
def main(): print("It's alive!")
3. تثبيت الشعر
curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python source $HOME/.poetry/env
(يمكنك تثبيت الشعر بشكل مختلف ، على سبيل المثال ، تثبيت نقطة - شعر المستخدم - ترجمة تقريبية .)
4. إنشاء بيئة
cd myproject # , poetry init
5. قم بتكوين أمر وحدة التحكم (للقيام بذلك ، أضف الأسطر التالية إلى ملف pyproject.toml الذي يظهر )
[tool.poetry.scripts] APPLICATION-NAME = 'entry:main'
APPLICATION-NAME يجب تغيير إلى اسم أمر وحدة التحكم.
6. نشر الأداة المساعدة! (استخدم اسم المستخدم وكلمة المرور من الخطوة 1)
poetry publish --username PYPI_USERNAME --password PYPI_PASS --build
القيام به! يحتاج الشخص الآخر الآن إلى أمرين فقط لتثبيت:
$ sudo pip install PROJECT-NAME $ APPLICATION-NAME
حيث PROJECT-NAME هو الاسم الذي أعطيته المشروع في الخطوة 4 ، و APPLICATION-NAME هو اسم الفريق من الخطوة 5.
تحديث الإصدار
كلما أردت تحديث وحدة ، ما عليك سوى تغيير رقم الإصدار في ملف pyproject.toml :
version = "0.1.0"
وكرر الخطوة 6:
poetry publish --username PYPI_USERNAME --password PYPI_PASS --build
المكافأة: تخصيص ترافيس للنشر التلقائي
أضف الأسطر التالية إلى ملف .travis.yml
language: python dist: xenial before_install: - curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python - source $HOME/.poetry/env install: - poetry install script: - poetry build deploy: - provider: script skip_cleanup: true script: poetry publish --username $PYPI_USER --password $PYPI_PASS on: branch: master python: '3.7' tags: true
وقم بتعيين متغيرات البيئة PYPI_USER و PYPI_PASS على travis-ci.com . بعد ذلك ، يمكنك نشر الحزمة باستخدام الأوامر:
git tag -a v1.2 # Replace version number with yours git push --tags