apt-get ইনস্টল বনাম পাইপ ইনস্টল করুন


103

পাইথন প্যাকেজগুলি ডাউনলোড করার সময় উপরের কমান্ডগুলি অবশ্যই ব্যবহার করা উচিত সেগুলি সম্পর্কে আমি কিছুটা বিভ্রান্ত। আমি এই প্রশ্নের উত্তর অনুসারে পাইদেব নামে একটি প্যাকেজ ডাউনলোড করার চেষ্টা করছিলাম । আমি এই আদেশটি কার্যকর করেছি:

sudo pip install python-pyudev

তবে নিম্নলিখিত বার্তাটি পেয়েছেন:

Downloading/unpacking python-pyudev

  Could not find any downloads that satisfy the requirement python-pyudev
Cleaning up...
No distributions at all found for python-pyudev
Storing complete log in /home/vineet/.pip/pip.log

তবে নিম্নলিখিতটি ভাল কাজ করেছে:

sudo apt-get install python-pyudev

কখন apt-getপ্যাকেজ ইনস্টল করতে হবে এবং কখন python-pipব্যবহার করা হবে?


2
pipপাইথন প্যাকেজগুলি ইনস্টল করতে ব্যবহৃত হয় তবে apt-getসমস্ত প্যাকেজ ইনস্টল করতে ব্যবহৃত হয়।
অবিনাশ রাজ

3
ঠিক আছে .. তবে পাইপ পাইথন-পাইউদেব ইনস্টল করতে সক্ষম হয় নি কেন?
ভিনিতে কৌশিক

উত্তর:


100

পাইপিআই হল পাইথন প্যাকেজ সূচক - পাইথন মডিউলগুলির সংগ্রহস্থল।

pipপিআইপিআই থেকে সরাসরি প্যাকেজগুলি ডাউনলোড এবং ইনস্টল করতে ব্যবহৃত হয়। পাইপআই পাইথন সফটওয়্যার ফাউন্ডেশন দ্বারা হোস্ট করা হয় । এটি একটি বিশেষ প্যাকেজ ম্যানেজার যা কেবল পাইথন প্যাকেজগুলির সাথে কাজ করে।

apt-get ক্যানোনিকাল দ্বারা হোস্ট করা উবুন্টু সংগ্রহস্থলগুলি থেকে প্যাকেজগুলি ডাউনলোড এবং ইনস্টল করতে ব্যবহৃত হয়।

থেকে পাইথন প্যাকেজ ইনস্টল করার মধ্যে পার্থক্য কিছু apt-getএবং pipনিম্নরূপ:

  • ক্যানোনিকাল কেবলমাত্র নির্বাচিত পাইথন মডিউলগুলির জন্য প্যাকেজ সরবরাহ করে। অন্যদিকে পাইপআই পাইথন মডিউলগুলির বিস্তৃত পরিসর পরিবেশন করে। সুতরাং, প্রচুর পাইথন মডিউল রয়েছে যা আপনি ব্যবহার করে ইনস্টল করতে পারবেন না apt-get

  • ক্যানোনিকাল কেবল কোনও প্যাকেজের একক সংস্করণ হোস্ট করে (সাধারণত সর্বশেষতম বা সাম্প্রতিককালে প্রকাশিত একটি)। সুতরাং, apt-getআমরা চাই যে পাইথন-প্যাকেজটির সংস্করণটি আমরা ঠিক করতে পারি না। pipএই পরিস্থিতিতে আমাদের সাহায্য করে। আমরা প্যাকেজটির যে কোনও সংস্করণ ইনস্টল করতে পারি যা পাইপআইতে আগে আপলোড করা হয়েছে। নির্ভরতা বিরোধের ক্ষেত্রে এটি অত্যন্ত সহায়ক helpful

  • apt-getসিস্টেম-বিস্তৃত স্থানে পাইথন মডিউল ইনস্টল করে। আমরা কেবল আমাদের প্রকল্পের ভার্চুয়ালেনভে মডিউল ইনস্টল করতে পারি না । pipআমাদের জন্য এই সমস্যা সমাধান করে। যদি আমরা pipভার্চুয়ালেনভ সক্রিয় করার পরে ব্যবহার করি তবে এটি কেবলমাত্র আমাদের প্রকল্পের ভার্চুয়ালেনভের মডিউলগুলি ইনস্টল করতে যথেষ্ট বুদ্ধিমান। পূর্ববর্তী পয়েন্টে উল্লিখিত হিসাবে, যদি সিস্টেম-প্রশস্ত স্থানে ইতিমধ্যে ইনস্টল করা একটি নির্দিষ্ট অজগর প্যাকেজের কোনও সংস্করণ থাকে এবং আমাদের প্রকল্পের কোনওটির জন্য একই পাইথন প্যাকেজের একটি পুরানো সংস্করণ প্রয়োজন, এমন পরিস্থিতিতে আমরা ইনস্টিটিউটের জন্য ভার্চুয়ালেনভ এবং পিপ ব্যবহার করতে পারি কোনও দ্বন্দ্ব ছাড়াই পাইথন প্যাকেজের সেই পুরানো সংস্করণ।

  • হিসাবে @Radu Rădeanu নির্দিষ্ট এই উত্তরে সেখানে সাধারণত প্যাকেজ নামে পার্থক্য হিসাবে ভাল হতে হবে। ক্যানোনিকাল সাধারণত পাইথন 2 প্যাকেজ হিসাবে python-<package_name>এবং পাইথন 3 প্যাকেজগুলির নাম দেয় python3-<package_name>। যদিও আমাদের জন্য pipসাধারণত <package_name>পাইথন 2 এবং পাইথন 3 প্যাকেজ উভয়েরই প্রয়োজন।

কোনটি আপনার ব্যবহার করা উচিত:

উভয় apt-getএবং pipপরিপক্ক প্যাকেজ পরিচালক যা ইনস্টল করার সময় অন্য কোনও প্যাকেজ নির্ভরতা স্বয়ংক্রিয়ভাবে ইনস্টল করে। আপনি নিজের পছন্দ মতো কাউকে ব্যবহার করতে পারেন। তবে, আপনার যদি পাইথন-প্যাকেজটির একটি বিশেষ সংস্করণ ইনস্টল করতে হয়, বা একটি ভার্চুয়ালেনভে প্যাকেজটি ইনস্টল করতে চান বা কেবল পাইপিআইতে হোস্ট করা একটি প্যাকেজ ইনস্টল করতে চান; কেবল pipআপনাকেই এই সমস্যাটি সমাধান করতে সহায়তা করবে। অন্যথায়, যদি আপনি সিস্টেম-ব্যাপী স্থানে প্যাকেজগুলি ইনস্টল করতে আপত্তি করেন না তবে আপনি ব্যবহার করেন apt-getবা ব্যবহার করেন তা আসলেই কিছু আসে যায় না pip


5
এছাড়াও, আপনার এক বা অন্যটি ব্যবহার করার চেষ্টা করা উচিত , এবং উভয়ই নয় pipএবং apt-getএকই সাথে।
আর্থলেলনে

3
যত তাড়াতাড়ি বা পরে, একজনের প্যাকেজ বা এর সংস্করণ প্রয়োজন হতে পারে যা সরবরাহ করে না apt-get। যেহেতু উভয়ই ব্যবহার করে apt-getএবং pipদ্বন্দ্ব সৃষ্টি করতে পারে, তাই পরামর্শটি কি সর্বদা pipসমর্থিত প্যাকেজগুলির জন্য ব্যবহার করা উচিত pip?
অভিষেক আনন্দ

2
@ অভিষেক, আমার পছন্দের পদ্ধতিটি হ'ল একটি ভার্চুয়ালেনভের মাধ্যমে সর্বদা পাইথন ব্যবহার করা .. সুতরাং, হ্যাঁ, আমি অ্যাপের ওপরে পাইপ ব্যবহার করতে পছন্দ করি ..
আদিত্য

এটি নির্দিষ্ট পরিস্থিতিতে তার কীটপতঙ্গগুলির নিজস্ব ক্যান খুলবে। ধরা যাক আপনি sudo pipছাড়া আপনার বেশিরভাগ প্যাকেজ ইনস্টল করেছেন virtualenvকারণ আপনার বেশিরভাগ প্রকল্পের একই পরিবেশের প্রয়োজন (তবে পরিষ্কার উবুন্টু ইনস্টলেশন সরবরাহের চেয়ে আরও বিস্তৃত)। তারপর যখন আপনি একটি সিস্টেম আপগ্রেড এবং উবুন্টু একটি নতুন সংস্করণ (সঙ্গে মতো পাইথন আপগ্রেড করার সিদ্ধান্ত নেয় zestyকরার artful- পাইথন 3.5 3.6 করা), আপনার পিপ-ইনস্টল করা সমস্ত প্যাকেজ /usrবামে পিছনে হয় এবং pip.get_installed_distributions()একটি খালি তালিকা তৈরি করে।
z33k 11

বিশ্বব্যাপী প্রেক্ষাপটে পাইপ ব্যবহার করা সরল ভুল এবং অবশ্যই ব্যবহার করা উচিত নয়, কারণ এটি অজগর ইনস্টলেশনটি বিশৃঙ্খলা করবে। পাইপ এবং উপযুক্তভাবে সম্পূর্ণ আলাদা জিনিস পান এবং সেগুলির সাথে তুলনা করা ভুল। পাইথন মডিউলটি ইনস্টল করার চেষ্টা করুন যা অন্যান্য অ পাইথন লাইব্রেরির উপর নির্ভর করে এবং আপনি কীভাবে এ্যাপ-গেটের প্রয়োজন হতে পারে তা আপনি দ্রুত বুঝতে পারবেন।
মেসটিয়া

21

@ অভিনশরাজ যেমন তার মন্তব্যে বলেছিলেন , pipকেবল পাইথন প্যাকেজ ইনস্টল করতে ব্যবহৃত হয় তবে apt-getকোনও প্রোগ্রামিং ভাষায় তৈরি প্যাকেজ ইনস্টল করতে ব্যবহৃত হয়।

আপনার প্রধান সমস্যা হ'ল উভয় ক্ষেত্রেই সঠিক প্যাকেজের নামটি খুঁজে পাওয়া:

pip search pyudev

আপনি যে প্যাকেজটি ইনস্টল করতে চান তার সঠিক নাম দেবে pip installas

apt-cache search pyudev

আপনি যে প্যাকেজটি ইনস্টল করতে চান তা ব্যবহার করে আপনাকে সঠিক নাম দেবে apt-get install:

radu@Radu: ~ $ pip search pyudev
pyudev                    - A libudev binding
radu@Radu: ~ $ apt-cache search pyudev
python-pyudev - Python bindings for libudev
python3-pyudev - Python3 bindings for libudev

সুতরাং, conlusion এ, সংবাদদাতা sudo apt-get install python-pyudevহয় sudo pip install pyudevনা sudo pip install python-pyudev

পাইথন প্যাকেজ ইনস্টল করতে চাইলে আপনি কী চয়ন করতে চান তা এখন আপনার উপর নির্ভর করে: pipবা apt-get। উদাহরণস্বরূপ দেখুন এবং ব্যবহার করে প্যাকেজ ইনস্টল করার পার্থক্য সম্পর্কে এই প্রশ্নোত্তরpipapt-get


2

আমার পছন্দের উপায়টি সর্বদা ব্যবহার করা aptএবং কেবলমাত্র মডিউলটি দেবিয়ান / উবুন্টু সংগ্রহস্থলটি ব্যবহারের জন্য উপলব্ধ না হলে pipকেবল ব্যবহারকারীর প্রসঙ্গে - --userপতাকা। pipযেকোনোভাবে একটি ব্যবহার করে সমস্ত বিল্ড-নির্ভরতা ইনস্টল করতে হবে উবুন্টুর সংগ্রহস্থলটি বলুন বা সেগুলি তাদের সরবরাহ করুন যা একটি ক্লান্তিকর কাজ হতে পারে। ডাউনলোড করার পরে apt-getবাইনারি প্যাকেজগুলি ইনস্টল pipকরুন। সিস্টেমের অবস্থানগুলিতে মডিউলগুলি ইনস্টল করতে কোনওরই পাইপ ব্যবহার করা উচিত নয়। এটি সাধারণ ভুল। --userহোম অবস্থানের ক্ষেত্রে একটি মডিউল ইনস্টল করতে সর্বদা পতাকা ব্যবহার করুন । সঠিকভাবে কনফিগার করা পাইথনপথ পাইথনকে প্রথমে হোম থেকে মডিউলগুলি তুলতে দেয় এবং তারপরে ইনস্টল করা সিস্টেম মডিউলগুলি apt-get

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.