পিপ ব্যবহার করে কীভাবে প্যাকেজ আপডেট / আপগ্রেড করবেন?


170

পাইপ ব্যবহার করে কোনও প্যাকেজ আপডেট করার উপায় কী? যারা কাজ করে না:

pip update
pip upgrade

আমি জানি এটি একটি সাধারণ প্রশ্ন তবে এটি প্রয়োজনীয় কারণ এটি সন্ধান করা এত সহজ নয় (পাইপ ডকুমেন্টেশন পপ আপ হয় না এবং স্ট্যাক ওভারফ্লো থেকে অন্যান্য প্রশ্নগুলি প্রাসঙ্গিক তবে সে সম্পর্কে ঠিক তেমন নয়)

উত্তর:


278

উপায় হয়

sudo pip install [package_name] --upgrade

বা সংক্ষেপে

sudo pip install [package_name] -U

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

যদি আপনার কাছে একটি রুট পাসওয়ার্ড না থাকে (আপনি যদি প্রশাসক না হন) আপনার সম্ভবত ভার্চুয়ালেনভের সাথে কাজ করা উচিত এবং তারপরে আপনার এটিকে ফেলে দেওয়া উচিত sudo:

pip install [package_name] --upgrade

2
হিসাবে pip install --helpবলেন: -U, --upgrade Upgrade all specified packages to the newest available version.। সুতরাং এটি উচ্চতর ক্ষেত্রে হওয়া উচিত -U, না -u
পিটার লিয়াং

25
আপনি যখন করেন তখন কেন এমন সাধারণ বিকল্পটি দেখানো হয় না pip --help...
হুস্কি

3
@ হাস্কি - হ্যাঁ, একই লাইনে তারা কেন কোনও upgradeআদেশ দেয় না যা উত্তরে আপনি যা দেখছেন তা একটি ভাল প্রশ্ন। (অর্থ, আপনি যদি 'আপগ্রেড' ব্যবহার করেন তবে এটি কেবল যা করে তা install+ যা --upgradeকরে orts
বিসিয়া

10

একটি অ-নির্দিষ্ট প্যাকেজ এবং আরও সাধারণ সমাধানের জন্য আপনি পাইপ-পর্যালোচনা পরীক্ষা করতে পারেন , এমন একটি সরঞ্জাম যা প্যাকেজগুলি আপডেট করতে পারে / কী তা পরীক্ষা করতে পারে cks

$ pip-review --interactive
requests==0.14.0 is available (you have 0.13.2)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y

3
যদিও এটি সরাসরি প্রশ্নের উত্তর দেয় না, কিছু লোকেরা যখন এই বার্তাটি সন্ধান করে তখন আসলে এটিই সন্ধান করে।
বার্গার

8

সমস্ত ইনস্টল করা প্যাকেজ আপডেট করার জন্য tl; dr স্ক্রিপ্ট

আপনি যদি কেবল একটি প্যাকেজ আপগ্রেড করতে চান তবে @ বার্গারের উত্তরটি দেখুন । আমি প্রায়শই আমার সমস্ত প্যাকেজগুলি একবারে আপগ্রেড করার জন্য প্রয়োজনীয় বা কমপক্ষে আনন্দদায়ক মনে করি। বর্তমানে, পিপ স্থানীয়ভাবে এই ক্রিয়াকে সমর্থন করে না, তবে শ স্ক্রিপ্টিং সহ এটি যথেষ্ট সহজ। আপনি ব্যবহার করেন pip list, awk(বা cutএবং tail), এবং আদেশ প্রতিস্থাপন। আমার সাধারণ ওয়ান-লাইনারটি হ'ল:

for i in $(pip list -o | awk 'NR > 2 {print $1}'); do sudo pip install -U $i; done

এটি রুট পাসওয়ার্ড জানতে চাইবে। যদি আপনার এতে অ্যাক্সেস না থাকে তবে --userবিকল্প pipবা ভ্যুচুয়ালেনভ সন্ধানের জন্য কিছু হতে পারে।


7
import subprocess as sbp
import pip
pkgs = eval(str(sbp.run("pip3 list -o --format=json", shell=True,
                         stdout=sbp.PIPE).stdout, encoding='utf-8'))
for pkg in pkgs:
    sbp.run("pip3 install --upgrade " + pkg['name'], shell=True)

Xx.py হিসাবে সংরক্ষণ করুন
তারপরে পাইথন 3 xx.py পরিবেশ চালান
: পাইথন 3.5 + পিপ 10.0 +


আমি এই সমাধানটি পছন্দ করি। আপডেটের সময় প্যাকেজের নামটি দেখানোর জন্য আমি একটি মুদ্রণ যুক্ত করেছি:print('updating ', pkg['name'])
pvoj

4

পাইথন 3.4 + এর জন্য পাইপ আপগ্রেড করতে, আপনাকে পিপ 3 অবশ্যই ব্যবহার করতে হবে:

sudo pip3 install pip --upgrade

এটি এখানে অবস্থিত পাইপ আপগ্রেড করবে: /usr/local/lib/python3.X/dist-packages

অন্যথায় পাইথন ২..7-এর জন্য পাইপ আপগ্রেড করতে আপনি নীচটি পিপ ব্যবহার করবেন:

sudo pip install pip --upgrade

এটি অবস্থিত পাইপটি আপগ্রেড করবে: /usr/local/lib/python2.7/dist-packages


7
ওপি যা চেয়েছিল তা নয়। তিনি পিআইপি নিজেই নয়, কীভাবে একটি নির্দিষ্ট প্যাকেজ আপগ্রেড করবেন জিজ্ঞাসা করছেন।
commadelimited

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