আমি আরও এইরকম কম্যান্ড দেখতে পাচ্ছি:
$ pip install "splinter[django]"
এই বর্গাকার বন্ধনীগুলি কী করে?
আমি আরও এইরকম কম্যান্ড দেখতে পাচ্ছি:
$ pip install "splinter[django]"
এই বর্গাকার বন্ধনীগুলি কী করে?
pip install "splinter[django]", প্যাটার্নটির কোনও দুর্ঘটনাজনক শেল প্রসার এড়াতে।
উত্তর:
আপনি যে বাক্য গঠনটি ব্যবহার করছেন তা হ'ল:
pip install "project[extra]"
আপনার ক্ষেত্রে, আপনি হয় প্যাকেজ, যার জন্য যোগ সমর্থন আছে । বর্গাকার বন্ধনীগুলি নির্দিষ্ট সিনট্যাক্স নয়, কেবল কনভেনশন। সত্যিই, আপনি প্যাকেজ নামে ইনস্টল করছেন: ।installingsplinterdjango[]"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"],