নিম্নলিখিত প্যাকেজ কাঠামো সহ
.
├── my_package
│ └── __init__.py
├── setup.cfg
└── setup.py
বিষয়বস্তু setup.py
from setuptools import setup
setup()
বিষয়বস্তু setup.cfg
[metadata]
name = my_package
version = 0.1
[options]
packages = find:
আমি চাকা বা জন্য একটি উৎস বন্টন নির্মাণ করতে পারেন my_package
মত এই
pip wheel --no-deps -w dist .
# generates file ./dist/my_package-0.1-py3-none-any.whl
python setup.py sdist
# generates file ./dist/my_package-0.1.tar.gz
তবে সেটআপটুলগুলির রক্ষণাবেক্ষণকারী অনুসারে , একটি ঘোষিত বিল্ড কনফিগারেশন আদর্শ এবং একটি অত্যাবশ্যক বিল্ড ব্যবহার করা কোড গন্ধ হতে চলেছে। সুতরাং আমরা প্রতিস্থাপন setup.py
সঙ্গে pyproject.toml
:
.
├── my_package
│ └── __init__.py
├── setup.cfg
└── pyproject.toml
বিষয়বস্তু pyproject.toml
[build-system]
build-backend = "setuptools.build_meta"
requires = ["setuptools", "wheel"]
এবং আপনি এখনও আগের মতো একইভাবে একটি চাকা তৈরি করতে পারেন, এটি কাজ করে। কিন্তু sdist কাজ করে না:
python: can't open file 'setup.py': [Errno 2] No such file or directory
সুতরাং আপনি কীভাবে সেটআপলগুলি ব্যবহার করে .tar.gz ফাইলটি তৈরি করবেন ? Sdist তৈরির জন্য ব্যবহারকারী-মুখী সরঞ্জাম কী? আমি বিল্ড ব্যাকএন্ড পরিবর্তন করতে চাই না। দেখে মনে হচ্ছে এটি অন্যান্য প্যাকেজিংয়ের সরঞ্জামগুলি তাদের নিজস্ব বিল্ড এন্ট্রি পয়েন্টগুলি লিখেছিল, তবে আমি ভেবেছিলাম মেটাডাটাতে ডিক্লেয়ারিং বিল্ড সিস্টেমটি সংজ্ঞায়নের পুরো পয়েন্টটি যাতে আপনাকে বিল্ড সিস্টেমের সাথে হাতছাড়া করতে না হয়, প্রতিটি কীভাবে শিখছে বিভিন্ন প্যাকেজিং সরঞ্জাম প্রত্যাশিত হতে পারে বা দোভাষীর কাছে যেতে এবং পাইথন এপিআই ম্যানুয়ালি কল করে। তবে বিল্ড সিস্টেমের প্রয়োজনীয়তার জন্য পিইপি এখন 2 বছরেরও বেশি পুরানো। আমি কি এখানে স্পষ্ট কিছু মিস করছি?
setup.py
ফাইল ব্যবহার না করে কীভাবে উত্স বন্টন তৈরি করবেন ?
pep517.build
ঝাঁকুনি, কবিতা, হ্যাচ, এবং সম্ভবত আরও বেশি উত্পাদনশীল সরঞ্জাম রয়েছে যখন কেবলমাত্র একটি পরীক্ষা হিসাবে একটি সাময়িক ক্রাচ হিসাবে বোঝানো কেন ?