আমি কীভাবে পাইথন প্যাকেজ আপডেট করব?


234

আমি উবুন্টু 9:10 চালাচ্ছি এবং এম 2 ক্রাইপ্টো নামে একটি প্যাকেজ ইনস্টল করা আছে (সংস্করণটি 0.19.1)। আমার এম 2 ক্রিপ্টো প্যাকেজ (0.20.2) এর সর্বশেষ সংস্করণটি ডাউনলোড, বিল্ড এবং ইনস্টল করতে হবে।

০.০৯.১ প্যাকেজটিতে (/ usr / share / pyshared এবং /usr/lib/pymodules.python2.6) সহ বেশ কয়েকটি স্থানে ফাইল রয়েছে।

0.20.2 ইনস্টল করার আগে আমি কীভাবে আমার সিস্টেম থেকে 0.19.1 সংস্করণটি পুরোপুরি আনইনস্টল করতে পারি?

উত্তর:


54

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


1
ধন্যবাদ। আপনি যা বলেছেন তা কাজ করেছে। আমি 0.19.1 আনইনস্টল না করে 0.20.2 তৈরি এবং ইনস্টল করেছি।
থম্পসন

461

টার্মিনাল থেকে এই কমান্ডটি চালানো সবচেয়ে ভাল উপায় আমি খুঁজে পেয়েছি

sudo pip install [package_name] --upgrade

sudo ক্রিয়াটি নিশ্চিত করতে আপনার রুট পাসওয়ার্ড লিখতে বলবে।


দ্রষ্টব্য: কিছু ব্যবহারকারীর পরিবর্তে পাইপ 3 ইনস্টল থাকতে পারে। সেক্ষেত্রে ব্যবহার করুন

sudo pip3 install [package_name] --upgrade

4
এবং যদি আপনি প্রমাণীকরণ ছাড়াই একটি প্রক্সি ব্যবহার করছেন: sudo পিপ ইনস্টল করুন [প্যাকেজ]
আপগ্রেড --প্রক্সি

32
আমি এই উত্তরের জন্য এখানে এসেছি। আমি চেষ্টা করেছিলাম pip updateএবং pip upgradeআমি --upgradeএখানে না দেখা পর্যন্ত মরিয়া হয়ে উঠেছিলাম । কেন তারা একটি pip upgradeআদেশ যোগ করবেন না ?
লার্স ব্লামবার্গ

9
এটি প্রকৃতপক্ষে একটি গোপন বৈশিষ্ট্য।
ওটোকান

1
উইন্ডোজ ব্যবহারকারীদের জন্য: sudoপ্রয়োজন হয় না।
স্টিভোসিয়াক

2
এটি উত্তর # 1 হওয়া উচিত
কর্ড কলডেমায়ার

48

সমস্ত পুরানো প্যাকেজগুলি স্বয়ংক্রিয়ভাবে আপগ্রেড করতে (যা পাইপ ব্যবহার করে ইনস্টল করা হয়েছিল), কেবল স্ক্রিপ্টটি বেলুন,

pip install $(pip list --outdated | awk '{ print $1 }') --upgrade

এখানে, pip list --outdatedসমস্ত পুরানো তারিখের প্যাকেজগুলি তালিকাভুক্ত করবে এবং তারপরে আমরা এটিকে জোর করে পাইপ করব, সুতরাং এটি কেবল নাম মুদ্রণ করবে। তারপরে, $(...)ইচ্ছাশক্তি এটিকে একটি পরিবর্তনশীল করে তুলবে এবং তারপরে, সবকিছু স্বয়ংক্রিয়ভাবে সম্পন্ন হবে। আপনার অনুমতি আছে তা নিশ্চিত করুন। ( sudoআপনি যদি বিভ্রান্ত হন তবে কেবল পাইপের সামনে রাখুন) আমি একটি স্ক্রিপ্ট লিখব, pip-upgrade কোডটি দমনীয়,

#!/bin/bash
sudo pip install $(pip list --outdated | awk '{ print $1 }') --upgrade

তারপরে এটি প্রস্তুত করতে স্ক্রিপ্টের নিম্নলিখিত লাইনগুলি ব্যবহার করুন:

sudo chmod +x pip-upgrade
sudo cp pip-upgrade /usr/bin/

তারপরে, শুধু আঘাত pip-upgradeএবং ভয়েলা!


আমি সর্বশেষ বন্ধনীটির দিকে ইঙ্গিত করে একটি সিনট্যাক্স ত্রুটি পেয়েছি:awk: cmd. line:1: { print $1 })
টিটি--

7
@ টিটি এর নতুন সংস্করণগুলির জন্য pipআপনাকে --format=legacyবিকল্পটি ব্যবহার করতে হবে , যেমন pip list --outdated --format=legacy,। এছাড়াও এফওয়াইআই প্রত্যেকে: অন্ধভাবে সমস্ত মডিউল পিপের মাধ্যমে আপডেট করা অনেকগুলি লিনাক্স ডিস্ট্রোজে বিপজ্জনক হতে পারে। তাদের মধ্যে অনেকে ডিস্ট্রো প্যাকেজগুলির মাধ্যমে নির্দিষ্ট অজগর মডিউল সরবরাহ করে এবং কিছু বিভ্রান্তি (বিশেষত আরএইচইএল) আপনি যদি ছিটে আপডেট করেন তবে হার্ড ভেঙে যেতে পারে ... আপনি যদি পাইপের মাধ্যমে আপডেট করেন তবে ডিস্ট্রো প্যাকেজগুলি আপনার পরিবর্তনগুলি ফিরিয়ে আনতে পারে ভবিষ্যতের আপডেট
আরএসও

ধন্যবাদ @ বার্সা তিনি ঠিক বলেছেন আপনার ব্যবহারকারীর বিকল্পটি দিয়ে আপনার পিপ আদেশগুলি চালানো উচিত
ফাহিম ফেরদৌস

1
আমি এই উত্তরটি পছন্দ করি, যদিও আমি সবকিছু স্বয়ংক্রিয়ভাবে আপডেট করার বিপদটি বুঝতে পারি। যাইহোক, যেহেতু উত্তরাধিকারটি পিপ 19.0 পিপ ইনস্টল in (পিপ তালিকা - আউটডেটেড - ফর্ম্যাট = কলামগুলি | গ্রেপ-ভি "প্যাকেজ" | গ্রেপ-ভি - ---- | আর্ক '{মুদ্রণ $ 1}') এ অবজ্ঞাত হয়েছে - -আপগ্রেড
মাইক বনাম

2
কোনও উবুন্টুতে কাজ করার জন্য 18.04 ভেনভটি নীচের হিসাবে রূপান্তর করুন:pip install $(pip list --outdated | tail +3 | grep -v sdist | awk '{ print $1 }') --upgrade
আলেকজান্ডার রেমেছ

34
  1. উইন্ডোজ কমান্ড প্রম্পট মাধ্যমে, রান করুন: pip list --outdated আপনি পুরানো প্যাকেজগুলির তালিকা পাবেন।
  2. চালান: pip install [package] --upgrade এটি [package]পূর্ববর্তী সংস্করণটি আপগ্রেড করে আনইনস্টল করবে।

পাইপ আপডেট করতে:

py -m pip install --upgrade pip

আবার এটি পিপের পূর্ববর্তী সংস্করণটি আনইনস্টল করবে এবং পাইপের সর্বশেষতম সংস্করণ ইনস্টল করবে।


29
  • পদ্ধতি 1: ম্যানুয়ালি এক এক করে আপগ্রেড করুন

pip install package_name -U
  • পদ্ধতি 2: একবারে সমস্ত আপগ্রেড করুন (কিছু প্যাকেজ আপগ্রেড করতে ব্যর্থ হলে উচ্চ সুযোগের রোলব্যাক

pip install $(pip list --outdated --format=columns |tail -n +3|cut -d" " -f1) --upgrade
  • পদ্ধতি 3: লুপ ব্যবহার করে একে একে আপগ্রেড করুন

for i in  $(pip list --outdated --format=columns |tail -n +3|cut -d" " -f1); do pip install $i --upgrade; done


9

পিপআপগ্রেড ব্যবহার করুন !

$ pip install pipupgrade
$ pipupgrade --latest --interactive

পিপআপগ্রেড আপনাকে কোনও requirements.txtফাইল থেকে আপনার সিস্টেম, স্থানীয় বা প্যাকেজগুলি আপগ্রেড করতে সহায়তা করে ! এটি নির্বাচিতভাবে প্যাকেজগুলিকে আপগ্রেড করে যা পরিবর্তনগুলি ভঙ্গ করে না। পাইথন 2.7 +, পাইথন 3.4 + এবং পাইপ 9 +, পিপ 10 +, পিপ 18 + এর সাথে সামঞ্জস্যপূর্ণ।

এখানে চিত্র বর্ণনা লিখুন

দ্রষ্টব্য: আমি সরঞ্জামটির লেখক।


1
আমি যখনই এই সরঞ্জামটি ব্যবহার করি তখনই আমি প্রতিক্রিয়া পাই "[0; 93 মিচেকিং ... [0 মি" এবং এটি কিছুই করার জন্য এগিয়ে যায় না। আমি কি এটি ভুলভাবে ব্যবহার করছি?
ভায়োল্যাটিক

আমি ম্যাকপোর্টস সহ একটি ম্যাক ব্যবহার করি। পাইথনের সাথে 3.7 পিপআপগ্রেড কেবল 50 টির মধ্যে 5 টি প্যাকেজের জন্য কাজ করেছে, বাকিগুলির জন্য আমাকে এটি ব্যবহার করতে হয়েছিল: i in pip3.7 list --outdated | sed -n -e '3,$s/ .*//p'; পাইপ 3.7 ইনস্টল করুন - আপগ্রেড করুন $ i; সম্পন্ন
মাইকেল ড্রেহের

4

মূলত প্যাকেজটি কীভাবে ইনস্টল করা হয়েছিল? এটি যদি অ্যাপটির মাধ্যমে হয় তবে আপনি কেবল সক্ষম হতে পারবেনapt-get remove python-m2crypto

আপনি যদি ইজি-ইনস্টল এর মাধ্যমে এটি ইনস্টল করেন তবে আমি নিশ্চিত যে একমাত্র উপায় হ'ল লিব, ভাগ করা ইত্যাদির অধীনে ফাইলগুলি ট্র্যাশ করা ..

ভবিষ্যতে আমার সুপারিশ? আপনার প্যাকেজ ইনস্টল করতে পাইপের মতো কিছু ব্যবহার করুন । তদুপরি, আপনি ভ্যাচুয়ালেভ নামক কিছু সন্ধান করতে পারেন যাতে আপনার প্যাকেজগুলি কেবলমাত্র মূলের পরিবর্তে প্রতি পরিবেশের ভিত্তিতে সংরক্ষণ করা হয়।

পাইপের সাহায্যে এটি বেশ সহজ:

pip install m2crypto

তবে আপনি সঠিক ঠিকানা দিয়ে গিট, এসএনএন ইত্যাদি রেপোগুলি থেকেও ইনস্টল করতে পারেন। এই সমস্ত পাইপের ডকুমেন্টেশনে ব্যাখ্যা করা হয়েছে


ফাইলগুলি যেখানে ইনস্টল করা হয়েছে তার যেভাবে তিনি বর্ণনা করেছেন সেটি ইঙ্গিত করে যে প্যাকেজটি অ্যাপ প্যাকেজ ম্যানেজার ব্যবহার করে ইনস্টল করা হয়েছিল - কারণ (দেবিয়ান এএফএইচিতে) অ্যাপটি তার তালিকাভুক্ত 2 অবস্থানের অধীনে পাইথন প্যাকেজ ইনস্টল করবে - / ভাগ / পাইশারেড / .. ভাগ করা কোডের জন্য সংস্করণ নির্দিষ্ট অংশের জন্য সংস্করণ এবং / usr / lib / .. জুড়ে। অন্যদিকে ইজি-ইনস্টল / পাইপ / usr / লোকাল / lib / .. ব্যবহার করবে - আপনি যেমনটি বলেছেন - ঠিক ততক্ষণ এট-রিমুট তাকে সম্পন্ন করে দিত।
বাসেল শিশানী


3

জুটিয়ার নোটবুকে, একটি খুব সহজ উপায়

!pip install <package_name> --upgrade

সুতরাং, আপনাকে কেবল আসল প্যাকেজের নাম দিয়ে প্রতিস্থাপন করতে হবে।


2

সমস্ত পুরানো প্যাকেজ পান এবং প্রতিটি পুরানো প্যাকেজগুলির জন্য নিম্নলিখিত কমান্ড পিপ ইনস্টল xxx - আপগ্রেড সহ একটি ব্যাচ ফাইল তৈরি করুন

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