গিট রেপো থেকে ইনস্টল করার জন্য যখন আমি "পাইপ ইনস্টল-ই ..." করি, তখন আমাকে # ডিম = কোনও নাম বা পাইপের অভিযোগ নির্দিষ্ট করতে হবে। উদাহরণ স্বরূপ:
pip install -e git://github.com/hiidef/oauth2app.git#egg=oauth2app
এই "ডিম" স্ট্রিং এর তাত্পর্য কি?
গিট রেপো থেকে ইনস্টল করার জন্য যখন আমি "পাইপ ইনস্টল-ই ..." করি, তখন আমাকে # ডিম = কোনও নাম বা পাইপের অভিযোগ নির্দিষ্ট করতে হবে। উদাহরণ স্বরূপ:
pip install -e git://github.com/hiidef/oauth2app.git#egg=oauth2app
এই "ডিম" স্ট্রিং এর তাত্পর্য কি?
উত্তর:
প্রতি পিপ ইনস্টল করুন -h "ডিম" স্ট্রিংটি সেই ডিরেক্টরি যা ইনস্টলের অংশ হিসাবে পরীক্ষা করে দেখা হয় out
project-name.egg-info/top_level.txt
উচিত ছিল। egg
প্যারামিটারের মান হিসাবে এই ফাইলের সামগ্রীগুলি ব্যবহার করুন ।
egg=...
সেটিংসটি আসলে গুরুত্বপূর্ণ কিনা তা আমি খুঁজে বের করতে পারি না । আমি যে প্যাকেজটি ইনস্টল করছি তাতে টপ_লেভেল.টিএসটিএসটি ফাইলে একাধিক এন্ট্রি রয়েছে। আমি name
স্কোয়া স্ক্রিপ্টটি যেটি কুয়ার্গের সাথে ব্যবহার করে তার সাথে এটি মিলিয়ে পরীক্ষা করেছি setup.py
কিন্তু একটি স্বেচ্ছাসেবী মানও। ফলাফলগুলি উভয়ভাবেই একই বলে মনে হচ্ছে। নোট করুন যে আমি pip install https://...
সিনট্যাক্স ব্যবহার করে ইনস্টল করছি যা প্রয়োজন হয় না -e
।
আপনাকে # ডিম = প্যাকেজ অন্তর্ভুক্ত করতে হবে তাই পিআইপি জানে যে URL এ কী প্রত্যাশা করতে হবে। Https://pip.pypa.io/en/stable/references/pip_install/#vcs-spport দেখুন
pip install -h
, Source will be checked out into src/PACKAGE (lower-case) and installed in-place (using setup.py develop)
আমি নিশ্চিত নই যে এটি অন্য কোথাও ব্যবহৃত হয় ...
https://pip.pypa.io/en/stable/references/pip_install/#vcs-support বলেছেন:
ইউআরএল প্রত্যয় "ডিম = -" এর "প্রকল্পের নাম" উপাদানটি পিপ ডাউনলোড করে এবং মেটাডেটা বিশ্লেষণের আগে প্রকল্পটি সনাক্ত করতে তার নির্ভরতা যুক্তিতে পাইপ দ্বারা ব্যবহৃত হয়। ডিমের alচ্ছিক "সংস্করণ" উপাদানটি কার্যকরীভাবে গুরুত্বপূর্ণ নয়। এটি কেবল কোন সংস্করণটি ব্যবহার হচ্ছে তা একটি মানব-পঠনযোগ্য সূত্র সরবরাহ করে। প্রকল্পগুলির জন্য যেখানে setup.py প্রকল্পের মূলের মধ্যে নেই, সেখানে "সাব-ডিরেক্টরি" উপাদান ব্যবহৃত হয়। "সাবডাইরেক্টরি" উপাদানটির মান প্রকল্পের মূল থেকে সেটআপ.পি যেখানে অবস্থিত সেখানে যেতে হবে।
এ থেকে আমি অনুমান করি যে ডিমের মূল্যটি কেবল নির্ভরতা পরীক্ষার জন্য ব্যবহৃত হয় এবং তাই আমি মনে করি, কনভেনশন অনুসারে প্যাকেজের নাম (অর্থাত্ some-pypi-package-name
) ব্যবহার করা উচিত, কোনও সংযুক্ত ফোল্ডার নয় (যেমন some_pypi_package_name
)
একটি ডিম মাত্র কিছু বান্ডিল পাইথন কোড । একটি গিট ইউআরএল, ডিম প্রকল্পের নাম। ভিসিএস সহায়তা
সাধারণত আমরা পাইপি থেকে পাইথন প্যাকেজগুলি ইনস্টল করি, সুতরাং আপনি কেবলমাত্র প্যাকেজের নাম এবং সংস্করণ নির্দিষ্ট করেন (অথবা এটি নির্দিষ্ট না করে তবে এটি সর্বশেষ সংস্করণটি ধরে নেয়)। পাইপি তারপরে কোন ডিমটি চান তা অনুসন্ধান করে এবং পাইপ এটি ইনস্টল করে। pip install celery
সর্বশেষ প্রকাশিত ডিম pip install celery[redis]
ইনস্টল করবে এবং একই সেলারি প্যাকেজ যুক্ত একটি আলাদা ডিম ইনস্টল করবে এবং সেলারি এর সেটআপ.পিতে রেডিসের জন্য নির্ভরতা হিসাবে তালিকাভুক্ত যে প্যাকেজগুলির মধ্যে সর্বশেষতম ডিম ইনস্টল করবে।
গিট এবং গিটল্যাব পাথ সহ, আপনি নির্দিষ্ট করে দিন /{user|group}/{repository}.git@{tag}#egg={package-name}
। #egg=celery
এবং এর মধ্যে পার্থক্য রয়েছে #egg=celery[redis]
তবে তারা উভয়ই একই উত্স কোড থেকে আসবে।
"ট্যাগ" একটি প্রকৃত ট্যাগের পাশাপাশি একটি শাখা বা হ্যাশও হতে পারে। এটি master
নির্দিষ্ট করে না নিলে তা ধরে নেওয়া হয় ।
উদাহরণস্বরূপ, git+https://github.com/celery/celery.git#egg=celery==4.3.0
মাস্টার শাখা পরীক্ষা করে এটি ইনস্টল করবে। যদিও আপনি কোনও সংস্করণ নম্বর উল্লেখ করেছেন, তবুও এটি ইনস্টলেশনের ক্ষেত্রে আমলে নেওয়া হয় না। সংস্করণ নম্বর অবহিত
গিট বা অন্যান্য ভিসিএস ইউআরএলগুলির মাধ্যমে ইনস্টল করার সময় আপনি যে সংস্করণটি প্রয়োজন সেটির ট্যাগ বা হ্যাশ সন্ধান করতে চাইবেন। উদাহরণস্বরূপ, git+https://github.com/celery/celery.git@v4.3.0#egg=celery
যা "v4.3.3.0" ট্যাগযুক্ত প্রতিশ্রুতিটি চেকআউট করবে এবং তারপরে সেই উত্স কোড থেকে প্যাকেজটি ইনস্টল করবে। ধরে নিচ্ছেন যে রক্ষণাবেক্ষণকারীরা গুরুতরভাবে তাদের সংগ্রহস্থলগুলিকে ভুলভাবে ট্যাগ করেনি, আপনি নিজের পছন্দ মতো সংস্করণটি পেতে পারেন।
pip install
ডকুমেন্টেশনের এই অংশটি সম্পর্কে কথা বলা হয়েছে#egg=name
, তবে স্পষ্ট উত্তর দেয় না।