আমি আরও এইরকম কম্যান্ড দেখতে পাচ্ছি:
$ pip install "splinter[django]"
এই বর্গাকার বন্ধনীগুলি কী করে?
আমি আরও এইরকম কম্যান্ড দেখতে পাচ্ছি:
$ pip install "splinter[django]"
এই বর্গাকার বন্ধনীগুলি কী করে?
pip install "splinter[django]"
, প্যাটার্নটির কোনও দুর্ঘটনাজনক শেল প্রসার এড়াতে।
উত্তর:
আপনি যে বাক্য গঠনটি ব্যবহার করছেন তা হ'ল:
pip install "project[extra]"
আপনার ক্ষেত্রে, আপনি হয় প্যাকেজ, যার জন্য যোগ সমর্থন আছে । বর্গাকার বন্ধনীগুলি নির্দিষ্ট সিনট্যাক্স নয়, কেবল কনভেনশন। সত্যিই, আপনি প্যাকেজ নামে ইনস্টল করছেন: ।installing
splinter
django
[]
"splinter[django]"
থেকে একটি ব্যাখ্যা @chetner
:
কমান্ডটি
pip install splinter django
দুটিsplinter
এবং প্যাকেজ নামের প্যাকেজ ইনস্টল করবেdjango
।splinter[django]
অন্যদিকে,splinter
প্যাকেজের একটি বৈকল্পিক ইনস্টল করে যার জন্য সমর্থন রয়েছেdjango
। নোট করুন যেdjango
প্যাকেজটি নিজেই এটির সাথে কোনও সম্পর্কযুক্ত নয়, তবে কেবলমাত্রsplinter
একটি নির্দিষ্ট বৈশিষ্ট্য সেটের জন্য প্যাকেজ দ্বারা সংজ্ঞায়িত একটি স্ট্রিং যা সক্ষম হয়ে যায়।
extra
মানে কি?
splinter
এবং প্যাকেজ নামের প্যাকেজ ইনস্টল করা হবে django
। splinter[django]
অন্যদিকে, splinter
প্যাকেজের একটি বৈকল্পিক ইনস্টল করে যার জন্য সমর্থন রয়েছে django
। নোট করুন যে django
প্যাকেজটি নিজেই এটির সাথে কোনও সম্পর্কযুক্ত নয়, তবে কেবলমাত্র splinter
একটি নির্দিষ্ট বৈশিষ্ট্য সেটের জন্য প্যাকেজ দ্বারা সংজ্ঞায়িত একটি স্ট্রিং যা সক্ষম হয়ে যায়।
splinter
এখনও প্যাকেজের নাম; এটিকে সঠিক ফাইল ইনস্টল করতে সহায়তা করার জন্য একটি অতিরিক্ত "যুক্তি" সহ এটি প্যাকেজের নাম হিসাবে pip
বিশ্লেষণ করে splinter[django]
এবং স্বীকৃতি দেয়। কিভাবে যুক্তি django
ব্যাখ্যা করা হয় সম্পূর্ণরূপে আপ setup.py
ফাইল প্যাকেজ নির্ধারণ করতে ব্যবহৃত (অথবা অন্য কোনো কনফিগ ফাইল? আমি আসলে বিস্তারিত জানতে না) splinter
।
pip install splinter
চেয়ে কম প্রয়োজনীয়তা ইনস্টল করবে pip install splinter[django]
। ইনস্টল করা অতিরিক্ত প্যাকেজগুলি স্প্লিন্টারের অতিরিক্ত বৈশিষ্ট্যগুলি কার্যত সক্ষম করতে পারে (এবং সম্ভবত এটি করে) তবে এটি স্প্লিন্টার প্যাকেজ সম্পর্কে নিজেই কিছু পরিবর্তন করে না। এটি কেবল অতিরিক্ত নির্ভরতা সম্পর্কে পাইপকে জানায়।
[optional]
পিআইপি-তে বন্ধনীগুলি alচ্ছিক নির্ভরতা বোঝায়ঠিক তেমন ক্ষেত্রে অন্য বিকাশকারী তাদের নিজস্ব পাইথন প্যাকেজ মোতায়েনের মধ্যে এই প্যাটার্নটি বাস্তবায়নের সন্ধান করতে এসেছেন, brackets []
পিপ- এর আরও ব্যাখ্যা এখানে ।
পাইপairflow
থেকে ইনস্টল করতে আমরা এই আদেশটি ব্যবহার করি:
pip install 'apache-airflow'
আপনি ইনস্টল করতে পারেন ঐচ্ছিক সঙ্গে সুরক্ষা বৃহত্তর উপাদান:
pip install 'apache-airflow[aws]'
# [optional] -----------^
আমরা যখন অনুসন্ধান pypi জন্য apache-airflow
দয়া করে মনে রাখবেন ঐচ্ছিক প্যাকেজ দেখা না:
pip search 'apache-airflow'
apache-airflow (1.10.9) - Programmatically author, schedule and monitor data pipelines
pylint-airflow (0.1.0a1) - A Pylint plugin to lint Apache Airflow code.
swe-airflow-tools (0.0.3) - Tools for Apache Airflow Application
airflow (0.6) - Placeholder for the old Airflow package
...
setup.py
আপনি দেখতে পারেন কীভাবে এটি setup.py
স্ক্রিপ্টে
বাম বামে setup.py
- extras_require
সংজ্ঞায়িত হয়েছে।
এই optionচ্ছিক সাব-প্যাকেজগুলির জন্য ডানদিকে সংযুক্ত ইনস্টলেশন কমান্ড রয়েছে।
খুব নিশ্চিত যে এগুলি সেটআপলগুলিতে অতিরিক্ত রয়েছে:
কখনও কখনও কোনও প্রকল্পের "প্রস্তাবিত" নির্ভরতা হয়, যা প্রকল্পের সমস্ত ব্যবহারের জন্য প্রয়োজন হয় না। উদাহরণস্বরূপ, কোনও প্রকল্প রিপোর্টল্যাব ইনস্টল করা থাকলে alচ্ছিক পিডিএফ আউটপুট এবং ডকুমেন্টাল ইনস্টল করা থাকলে পুনর্গঠিত টেক্সট সমর্থন করতে পারে। এই alচ্ছিক বৈশিষ্ট্যগুলিকে "অতিরিক্ত" বলা হয় ...
এই setup.py
প্রকল্পে প্রশ্নাবলীর ফাইল থেকে ঠিক এই তালিকাটি রয়েছে :
"django": ["Django>=1.7.11;python_version<'3.0'", "Django>=2.0.6;python_version>'3.3'", "lxml>=2.3.6", "cssselect", "six"],