এটির চেহারায়, এটি মনে হয় requirements.txt
এবং setup.py
নিরীহ সদৃশ, তবে এটি বোঝা গুরুত্বপূর্ণ যে ফর্মটি সাদৃশ্য থাকা সত্ত্বেও, উদ্দেশ্যযুক্ত ফাংশনটি খুব আলাদা।
প্যাকেজ লেখকের লক্ষ্য, নির্ভরতা নির্দিষ্ট করার সময়, "এই প্যাকেজটি কাজ করার জন্য আপনি যেখানেই এই প্যাকেজটি ইনস্টল করবেন না কেন এটি আপনার প্রয়োজন অন্যান্য প্যাকেজগুলি" "
বিপরীতে, মোতায়েন লেখক (যা ভিন্ন সময়ে একই ব্যক্তি হতে পারে) এর একটি আলাদা কাজ রয়েছে, তারা বলে যে "এখানে আমরা যে প্যাকেজগুলি একত্রিত করেছি এবং পরীক্ষা করেছি এবং এখনই আমাকে ইনস্টল করতে হবে" তার তালিকা এখানে রয়েছে।
প্যাকেজ লেখক বিবিধ দৃশ্যের জন্য লিখেছেন, কারণ তারা তাদের কাজটি এমনভাবে ব্যবহার করছেন যাতে তারা জানেন না এবং তাদের প্যাকেজের পাশাপাশি কী কী প্যাকেজ ইনস্টল করা হবে তা জানার উপায় নেই। একজন ভাল প্রতিবেশী হতে এবং অন্যান্য প্যাকেজগুলির সাথে নির্ভরতা সংস্করণগুলির দ্বন্দ্ব এড়ানোর জন্য তাদের সম্ভবত নির্ভরযোগ্য সংস্করণগুলির বিস্তৃত বিস্তৃতি নির্দিষ্ট করা দরকার। এই কি install_requires
মধ্যে setup.py
আছে।
স্থাপনার লেখক একটি খুব পৃথক, খুব নির্দিষ্ট লক্ষের জন্য লিখেছেন: একটি ইনস্টলড অ্যাপ্লিকেশন বা পরিষেবার একক উদাহরণ, একটি নির্দিষ্ট কম্পিউটারে ইনস্টল করা। কোনও স্থাপনা সঠিকভাবে নিয়ন্ত্রণ করতে এবং সঠিক প্যাকেজগুলি পরীক্ষা করা এবং স্থাপন করা হয়েছে তা নিশ্চিত করার জন্য, নিয়োগের লেখককে অবশ্যই নির্ভরযোগ্যতা এবং নির্ভরতার নির্ভরতা সহ ইনস্টল করার জন্য প্রতিটি প্যাকেজের সঠিক সংস্করণ এবং উত্স-অবস্থান নির্দিষ্ট করতে হবে। এই অনুমানের সাহায্যে, একটি স্থাপনা পুনরাবৃত্তভাবে বেশ কয়েকটি মেশিনে প্রয়োগ করা যেতে পারে, বা একটি পরীক্ষা মেশিনে পরীক্ষা করা যেতে পারে, এবং প্রতিস্থাপন লেখক প্রতিবার একই প্যাকেজ মোতায়েন করা যায় এমন বিষয়ে আস্থা রাখতে পারেন। এটি কি requirements.txt
করে।
সুতরাং আপনি এটি দেখতে পাচ্ছেন, যদিও তারা উভয়ই প্যাকেজ এবং সংস্করণগুলির একটি বৃহত তালিকার মতো দেখায়, এই দুটি জিনিসের খুব আলাদা কাজ রয়েছে। এবং এটি মিশ্রিত করা এবং এটি ভুল হওয়া অবশ্যই সহজ! তবে এটি সম্পর্কে চিন্তা করার সঠিক উপায়টি হ'ল requirements.txt
সমস্ত setup.py
প্যাকেজ ফাইলগুলিতে প্রয়োজনীয়তার দ্বারা উত্থিত "প্রশ্নের" একটি "উত্তর" । হাত দিয়ে লেখার পরিবর্তে এটি প্রায়শই setup.py
পছন্দসই প্যাকেজগুলির সেটগুলিতে সমস্ত ফাইলগুলি দেখার জন্য পিপ বলার মাধ্যমে উত্পন্ন হয় , প্যাকেজের এমন একটি সেট সন্ধান করুন যা এটি মনে করে যে সমস্ত প্রয়োজনীয়তা ফিট করে এবং তারপরে, ইনস্টল হওয়ার পরে, "হিমশীতল "পাঠ্য ফাইলে প্যাকেজগুলির তালিকা ( pip freeze
নামটি এখান থেকে আসে)।
সুতরাং গ্রহণযোগ্য:
setup.py
স্বল্পতম সম্ভাব্য নির্ভরতা সংস্করণগুলি ঘোষণা করা উচিত যা এখনও কার্যক্ষম। কোনও নির্দিষ্ট প্যাকেজ কী দিয়ে কাজ করতে পারে তা বলা তার কাজ।
requirements.txt
একটি স্থাপনা ম্যানিফেস্ট যা পুরো ইনস্টলেশন কাজটি সংজ্ঞায়িত করে এবং কোনও একটি প্যাকেজের সাথে জড়িত বলে মনে করা উচিত নয়। এর কাজটি মোতায়েনের কাজ করার জন্য প্রয়োজনীয় সমস্ত প্যাকেজগুলির একটি সম্পূর্ণ তালিকা ঘোষণা করা।
- যেহেতু এই দুটি জিনিসের বিদ্যমান উপাদানগুলির জন্য পৃথক পৃথক সামগ্রী এবং কারণ রয়েছে, কেবল একটিতে অন্যটিতে অনুলিপি করা সম্ভব নয়।
তথ্যসূত্র:
install_requires
প্যাকেজটি কাজ করতে প্রয়োজনীয় এবং প্যাকেজের বিকাশকারী দ্বারা ব্যবহৃত প্যাকেজের উপর নির্ভরতা ঘোষণা করতে ব্যবহৃত হয়, যখনrequirements.txt
পরিবেশের ইনস্টলমেন্ট স্বয়ংক্রিয় করতে ব্যবহৃত হয়, যা অতিরিক্ত সফ্টওয়্যার ইনস্টল করতে এবং সংস্করণটি পিন করার অনুমতি দেয় এবং সিসাদমিনগুলি ব্যবহার করে ব্যবহৃত হয় প্যাকেজ। তাদের ভূমিকা এবং লক্ষ্য দর্শকদের উল্লেখযোগ্যভাবে পার্থক্য রয়েছে, সুতরাং ওপি শুভেচ্ছার মতো তাদের একত্রিত করার চেষ্টা করা একটি আসল নকশা ভুল ho