একসাথে সমস্ত পাইথন প্যাকেজ আপগ্রেড করা সম্ভব pip?
দ্রষ্টব্য : সরকারী ইস্যু ট্র্যাকার এ জন্য একটি বৈশিষ্ট্য অনুরোধ আছে ।
pipযখন আপগ্রেড করবেন তখন আপনার ইনস্টলেশনটি স্ক্রু আপ করুন requests। ত্রুটি বার্তাটি হ'ল cannot import name IncompleteRead।
একসাথে সমস্ত পাইথন প্যাকেজ আপগ্রেড করা সম্ভব pip?
দ্রষ্টব্য : সরকারী ইস্যু ট্র্যাকার এ জন্য একটি বৈশিষ্ট্য অনুরোধ আছে ।
pipযখন আপগ্রেড করবেন তখন আপনার ইনস্টলেশনটি স্ক্রু আপ করুন requests। ত্রুটি বার্তাটি হ'ল cannot import name IncompleteRead।
উত্তর:
এখনও একটি অন্তর্নির্মিত পতাকা নেই, তবে আপনি ব্যবহার করতে পারেন
pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
দ্রষ্টব্য: এর জন্য অসীম সম্ভাব্য প্রকরণ রয়েছে। আমি এই উত্তরটি সংক্ষিপ্ত এবং সহজ রাখার চেষ্টা করছি, তবে দয়া করে মন্তব্যে ভিন্নতাগুলি প্রস্তাব করুন!
এর পুরানো সংস্করণে pipআপনি এর পরিবর্তে এটি ব্যবহার করতে পারেন:
pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
grepযেমন @jawache দ্বারা প্রস্তাবিত, সম্পাদনাযোগ্য ( "-e") প্যাকেজ সংজ্ঞা লাফালাফি হয়। (হ্যাঁ, আপনি প্রতিস্থাপন করতে পারে grep+ + cutসঙ্গে sedবা awkবা perlবা ...)।
-n1জন্য তা পতাকাঙ্কিত xargsসবকিছু বাঁধন এক প্যাকেজটি আপডেট করার যদি প্রতিরোধ ব্যর্থ (ধন্যবাদ @andsens )।
pip install -Uএটি সমস্ত প্যাকেজ আপডেট করবে। আমি আশঙ্কা করছি এটি এপট-গেটের সাথে কিছু বিরোধ সৃষ্টি করতে পারে।
teeআসল আপগ্রেড করার আগে আমি একটি নিক্ষেপ করব যাতে আপনি মূল ভার্জনগুলির একটি তালিকা পেতে পারেন। উদাহরণস্বরূপ pip freeze --local | tee before_upgrade.txt | ...যে কোনও সমস্যা থাকলে আবার ফিরে যাওয়া আরও সহজ হবে।
-Hজন্য যোগ করেছি sudo: $ pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 sudo -H pip install -U
আপনি নিম্নলিখিত পাইথন কোডটি ব্যবহার করতে পারেন। অসদৃশpip freeze , এটি সতর্কতা এবং FIXME ত্রুটি মুদ্রণ করবে না।
পাইপের জন্য <10.0.1
import pip
from subprocess import call
packages = [dist.project_name for dist in pip.get_installed_distributions()]
call("pip install --upgrade " + ' '.join(packages), shell=True)
পিপ জন্য> = 10.0.1
import pkg_resources
from subprocess import call
packages = [dist.project_name for dist in pkg_resources.working_set]
call("pip install --upgrade " + ' '.join(packages), shell=True)
import pip pip.install('packagename')?
সমস্ত স্থানীয় প্যাকেজ আপগ্রেড করতে; আপনি ব্যবহার করতে পারেন pip-review:
$ pip install pip-review
$ pip-review --local --interactive
pip-reviewএকটি কাঁটাচামচ হয় pip-tools। @ ক্যানডেলসেপ দ্বারা উল্লিখিত pip-toolsসমস্যাটি দেখুন । প্যাকেজ কাজ করে কিন্তু প্যাকেজ আর কাজ করে না।pip-reviewpip-tools
pip-reviewসংস্করণ 0.5 থেকে উইন্ডোজ কাজ করে ।
pip-review --local --auto
উইন্ডোজে কাজ করে। অন্যের জন্যও ভাল হওয়া উচিত। (command হ'ল কমান্ড প্রম্পটে আপনি যে ডিরেক্টরিতে রয়েছেন eg যেমন সি: / ব্যবহারকারী / ব্যবহারকারী নাম>)
করা
$ pip freeze > requirements.txt
পাঠ্য ফাইলটি খুলুন, এর ==সাথে প্রতিস্থাপন করুন >=এবং সম্পাদন করুন
$ pip install -r requirements.txt --upgrade
আপনার যদি কোনও নির্দিষ্ট প্যাকেজ আপগ্রেড (কখনও কখনও নিম্প) স্টল করে সমস্যা হয় তবে কেবল ডিরেক্টরিতে ($) যান, নামটি মন্তব্য করুন (এর আগে একটি # যুক্ত করুন) এবং আবার আপগ্রেডটি চালান। পরে আপনি এই বিভাগটি ফিরে uncomment করতে পারেন। পাইথন গ্লোবাল পরিবেশ নকল করার জন্য এটি দুর্দান্ত।
অন্য উপায়:
আমি পাইপ-পর্যালোচনা পদ্ধতিটিও পছন্দ করি:
py2
$ pip install pip-review
$ pip-review --local --interactive
py3
$ pip3 install pip-review
$ py -3 -m pip_review --local --interactive
আপনি সমস্ত প্যাকেজ আপগ্রেড করতে 'এ' নির্বাচন করতে পারেন; যদি একটি আপগ্রেড ব্যর্থ হয়, আবার চালনা করুন এবং এটি পরেরটিতে অবিরত থাকবে।
requirements.txt'র =={version}। উদাহরণস্বরূপ: python-dateutil==2.4.2থেকে python-dateutilসব লাইনের জন্য।
$ pip freeze | cut -d '=' -f1> requirements.txtসংস্করণটি সরাতে
pip3 install -r <(pip3 freeze) --upgrade কার্যকরভাবে একটি কমান্ডের মাধ্যমে সংক্ষিপ্ত করতে পারেন , <(pip3 freeze)একটি বেনামে পাইপ, তবে এটি কোনও ফাইল অবজেক্ট হিসাবে কাজ করবে
Windows সংস্করণের চমৎকার আলোচনা করে তার পর ডকুমেন্টেশন জন্য FORরব ভ্যান দ্বারা Woude ডের
for /F "delims===" %i in ('pip freeze -l') do pip install -U %i
for /F "delims= " %i in ('pip list --outdated') do pip install -U %i এটি কেবলমাত্র "পুরানো" প্যাকেজগুলি চেষ্টা ও আপডেট করার চেষ্টা করবে
for /F "skip=2 delims= " %i in ('pip list --outdated') do pip install --upgrade %i। এটি যদি কোনও ব্যাচ ফাইল থেকে চালানো হয় তবে তার %%iপরিবর্তে ব্যবহারের বিষয়টি নিশ্চিত করুন %i। এছাড়াও খেয়াল করুন যে এটি pipব্যবহার করে এই কমান্ডটি চালানোর আগে আপডেট করা পরিষ্কার python -m pip install --upgrade pip।
$ pip install pipupgrade
$ pipupgrade --verbose --latest --yes
পাইপআপগ্রেড আপনাকে কোনও requirements.txtফাইল থেকে আপনার সিস্টেম, স্থানীয় বা প্যাকেজগুলি আপগ্রেড করতে সহায়তা করে ! এটি নির্বাচিতভাবে প্যাকেজগুলিকে আপগ্রেড করে যা পরিবর্তনগুলি ভঙ্গ করে না। পাইপআপগ্রেড একাধিক পাইথন এনভায়রনমেন্টের মধ্যে উপস্থিত প্যাকেজগুলিকে আপগ্রেড করার বিষয়টি নিশ্চিত করে। পাইথন 2.7 +, পাইথন 3.4 + এবং পাইপ 9 +, পিপ 10 +, পিপ 18 +, পিপ 19 + এর সাথে সামঞ্জস্যপূর্ণ।
দ্রষ্টব্য: আমি সরঞ্জামটির লেখক।
Checking...আমি চেষ্টা করে দেখলে এটি চিরতরে আটকে যায় ।
[0;93mChecking...[0m
ModuleNotFoundError: No module named 'ctypes.windll'
আপনি কেবল পুরানো প্যাকেজগুলি মুদ্রণ করতে পারেন
pip freeze | cut -d = -f 1 | xargs -n 1 pip search | grep -B2 'LATEST:'
pip freeze --local | cut -d = -f 1 | xargs -n 1 pip search | grep -B2 'LATEST:'
python -m pip list outdated(যদিও এটি প্রয়োজনীয়তার ফর্ম্যাটে নয়)।
এই বিকল্পটি আমার কাছে আরও সহজবোধ্য এবং পাঠযোগ্য বলে মনে হচ্ছে:
pip install -U `pip list --outdated | awk 'NR>2 {print $1}'`
ব্যাখ্যাটি হ'ল pip list --outdatedএই বিন্যাসে সমস্ত পুরানো প্যাকেজগুলির একটি তালিকা আউটপুট করে:
Package Version Latest Type
--------- ------- ------ -----
fonttools 3.31.0 3.32.0 wheel
urllib3 1.24 1.24.1 wheel
requests 2.20.0 2.20.1 wheel
অ্যাডকিউ কমান্ডে, NR>2প্রথম দুটি রেকর্ড (লাইন) এড়িয়ে যায় এবং {print $1}প্রতিটি লাইনের প্রথম শব্দটি নির্বাচন করে (সার্জিওআরউজোর পরামর্শ অনুসারে, আমি অপসারণ করেছি tail -n +3যেহেতু awkসত্যই স্কিপিং রেকর্ডগুলি পরিচালনা করতে পারে)।
awk 'NR>2 {print $1}'আপনার জন্য আউটপুট পরিষ্কার করে
নিম্নলিখিত এক-লাইনার সাহায্যের প্রমাণ দিতে পারে:
(পিপ> 20.0)
pip list --format freeze --outdated | sed 's/=.*//g' | xargs -n1 pip install -U
পুরানো সংস্করণ:
pip list --format freeze --outdated | sed 's/(.*//g' | xargs -n1 pip install -U
xargs -n1 ত্রুটি দেখা দিলে চলতে থাকে।
কী বাদ পড়েছে এবং কোনটি ত্রুটি উত্থাপন করে তার উপর যদি আপনার আরও "সূক্ষ্ম দানযুক্ত" নিয়ন্ত্রণের প্রয়োজন হয় তবে -n1পতাকাটি যুক্ত করা উচিত নয় এবং প্রতিটি পৃথক ত্রুটির জন্য নিম্নলিখিত লাইনটি "পাইপিং" করে উপেক্ষা করার জন্য ত্রুটিগুলি স্পষ্টভাবে সংজ্ঞায়িত করতে হবে:
| sed 's/^<First characters of the error>.*//'
এখানে একটি কার্যকারী উদাহরণ:
pip list --format freeze --outdated | sed 's/=.*//g' | sed 's/^<First characters of the first error>.*//' | sed 's/^<First characters of the second error>.*//' | xargs pip install -U
| sed 's/^<First characters of the error>.*//'যতটা প্রয়োজন যোগ করতে পারেন । ধন্যবাদ!
pip list --outdated | cut -d ' ' -f 1 | xargs -n 1 pip install --upgrade
আরও দৃust় সমাধান
পিপ 3 এর জন্য এটি ব্যবহার করুন:
pip3 freeze --local |sed -rn 's/^([^=# \t\\][^ \t=]*)=.*/echo; echo Processing \1 ...; pip3 install -U \1/p' |sh
পাইপের জন্য, কেবল 3 টি সরান:
pip freeze --local |sed -rn 's/^([^=# \t\\][^ \t=]*)=.*/echo; echo Processing \1 ...; pip install -U \1/p' |sh
ওএসএক্স অদ্ভুততা
ওএসএক্স, জুলাই 2017 হিসাবে, শেডের একটি পুরানো সংস্করণ (এক ডজন বছর পুরাতন) সহ জাহাজগুলি। নিয়মিত এক্সপ্রেশন বর্ধিত করতে উপরের সমাধানটিতে -r এর পরিবর্তে -E ব্যবহার করুন।
জনপ্রিয় সমাধান সহ সমস্যাগুলি সমাধান করা
এই সমাধানটি 1 টি ভালভাবে ডিজাইন করা এবং পরীক্ষিত হয়েছে , তবে সর্বাধিক জনপ্রিয় সমাধানগুলির ক্ষেত্রেও সমস্যা রয়েছে।
উপরোক্ত কমান্ড এই সমস্যাগুলি পুরোপুরি কাটিয়ে উঠতে সেড এবং শ এর সাথে একত্রে সবচেয়ে সহজ এবং বহনযোগ্য পাইপ সিনট্যাক্স ব্যবহার করে। মন্তব্য করা সংস্করণ 2 দিয়ে সেড অপারেশনের বিশদটি যাচাই করা যেতে পারে ।
বিস্তারিত
[1] লিনাক্স 4.8.16-200.fc24.x86_64 ক্লাস্টারে পরীক্ষিত এবং নিয়মিত ব্যবহৃত হয় এবং অন্য পাঁচটি লিনাক্স / ইউনিক্স স্বাদে পরীক্ষা করা হয়। এটি উইন্ডোজ ১০ এ ইনস্টল করা সাইগউইন on৪৪ তেও চলে iOS
[২] কমান্ডটির শারীরবৃত্তিকে আরও স্পষ্টভাবে দেখতে, মন্তব্যগুলির সাথে উপরের পাইপ 3 কমান্ডের ঠিক সমতুল্য:
# match lines from pip's local package list output
# that meet the following three criteria and pass the
# package name to the replacement string in group 1.
# (a) Do not start with invalid characters
# (b) Follow the rule of no white space in the package names
# (c) Immediately follow the package name with an equal sign
sed="s/^([^=# \t\\][^ \t=]*)=.*"
# separate the output of package upgrades with a blank line
sed="$sed/echo"
# indicate what package is being processed
sed="$sed; echo Processing \1 ..."
# perform the upgrade using just the valid package name
sed="$sed; pip3 install -U \1"
# output the commands
sed="$sed/p"
# stream edit the list as above
# and pass the commands to a shell
pip3 freeze --local |sed -rn "$sed" |sh
[]] পাইথন বা পিআইপি উপাদান আপগ্রেড করা যা পাইথন বা পিআইপি উপাদান আপগ্রেড করতে ব্যবহৃত হয় তা অচলাবস্থা বা প্যাকেজ ডাটাবেসের দুর্নীতির সম্ভাব্য কারণ হতে পারে।
sedওএস এক্সের জুরাসিক বিএসডি কাটিয়ে উঠার আরেকটি উপায় হ'ল gsedপরিবর্তে (জিএনইউ সেড) ব্যবহার করা। এটি পেতে,brew install gnu-sed
এটি আরও সংক্ষিপ্ত বলে মনে হয়।
pip list --outdated | cut -d ' ' -f1 | xargs -n1 pip install -U
ব্যাখ্যা:
pip list --outdated এই মত লাইন পায়
urllib3 (1.7.1) - Latest: 1.15.1 [wheel]
wheel (0.24.0) - Latest: 0.29.0 [wheel]
ইন cut -d ' ' -f1, -d ' '"স্পেস" কে ডিলিমিটার হিসাবে সেট করে, এর -f1অর্থ প্রথম কলামটি পাওয়া যায়।
সুতরাং উপরের লাইনগুলি হয়ে যায়:
urllib3
wheel
তারপরে প্রতিটি লাইন যুক্ত যুক্তি হিসাবে যুক্ত xargsকরে কমান্ডটি চালাতে তাদের পাস করুনpip install -U
-n1প্রতিটি কমান্ড পাস আর্গুমেন্টের সংখ্যা সীমা pip install -U1 হতে
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
আপগ্রেড করার ক্ষেত্রেও আমার একই সমস্যা ছিল। কথা হ'ল, আমি কখনই সমস্ত প্যাকেজ আপগ্রেড করি না। আমি যা প্রয়োজন কেবল তা আপগ্রেড করি কারণ প্রকল্পটি ভেঙে যেতে পারে।
প্যাকেজ দ্বারা প্যাকেজ আপগ্রেড করার এবং প্রয়োজনীয়তা.টিএসটি ফাইল আপডেট করার সহজ কোনও উপায় ছিল না বলে আমি এই পাইপ-আপগ্রেডারটি লিখেছি যা নির্বাচিত প্যাকেজগুলির (বা সমস্ত প্যাকেজ) আপনার requirements.txtফাইলের সংস্করণগুলিও আপডেট করে updates
স্থাপন
pip install pip-upgrader
ব্যবহার
আপনার ভার্চুয়ালেনভকে সক্রিয় করুন (গুরুত্বপূর্ণ, কারণ এটি বর্তমান ভার্চুয়ালেনভে আপগ্রেড হওয়া প্যাকেজগুলির নতুন সংস্করণ ইনস্টল করবে)।
cd আপনার প্রকল্প ডিরেক্টরিতে প্রবেশ করুন, তারপরে চালান:
pip-upgrade
উন্নত ব্যবহার
প্রয়োজনীয়তাগুলি যদি একটি মানহীন স্থানে স্থাপন করা হয় তবে সেগুলি আর্গুমেন্ট হিসাবে প্রেরণ করুন:
pip-upgrade path/to/requirements.txt
আপনি যদি প্যাকেজটি আপগ্রেড করতে চান তা যদি আপনি ইতিমধ্যে জানেন তবে কেবল তাদের আর্গুমেন্ট হিসাবে প্রেরণ করুন:
pip-upgrade -p django -p celery -p dateutil
আপনার যদি প্রাক-রিলিজ / পোস্ট-রিলিজ সংস্করণে আপগ্রেড করতে --prereleaseহয় তবে আপনার আদেশে যুক্তি যুক্ত করুন ।
সম্পূর্ণ প্রকাশ: আমি এই প্যাকেজটি লিখেছি।
virtualenvসক্ষম না থাকেpip-upgrade --skip-virtualenv-check
Https://github.com/cakebread/yolk থেকে :
$ pip install -U `yolk -U | awk '{print $1}' | uniq`
তবে আপনার প্রথমে কুসুম পেতে হবে:
$ sudo pip install -U yolk
@ রমনার উত্তরের ওয়ান-লাইন সংস্করণ ।
python -c 'import pip, subprocess; [subprocess.call("pip install -U " + d.project_name, shell=1) for d in pip.get_installed_distributions()]'
`
পাইপ ইস্যু আলোচনায় আমি সবচেয়ে সহজ এবং দ্রুত সমাধানটি পেয়েছি :
pip install pipdate
pipdate
উইন্ডোজ পাওয়ারশেল সমাধান
pip freeze | %{$_.split('==')[0]} | %{pip install --upgrade $_}
pip list --outdated | %{$_.split('==')[0]} | %{pip install --upgrade $_}?
pip list --outdated --format freeze | %{$_.split('==')[0]} | %{pip install --upgrade $_}আরও উপযুক্ত হবে।
awk আপডেট প্যাকেজগুলি ব্যবহার করুন:
pip install -U $(pip freeze | awk -F'[=]' '{print $1}')
উইন্ডোজ পাওয়ারশেল আপডেট
foreach($p in $(pip freeze)){ pip install -U $p.Split("=")[0]}
আপনি এটি চেষ্টা করতে পারেন:
for i in ` pip list|awk -F ' ' '{print $1}'`;do pip install --upgrade $i;done
বরং আশ্চর্যজনক কুসুম এটিকে সহজ করে তোলে।
pip install yolk3k # don't install `yolk`, see https://github.com/cakebread/yolk/issues/35
yolk --upgrade
কুসুম সম্পর্কিত আরও তথ্যের জন্য: https://pypi.python.org/pypi/yolk/0.4.3
এটি প্রচুর পরিমাণে করতে পারে যা আপনি সম্ভবত দরকারী খুঁজে পেতে পারেন।
yolkথেকে yolk3kআপনার মূল উত্তর স্পষ্টভাবে python3 সঙ্গে বিষয় ছিল।
@ রমনার উত্তর আমার পক্ষে এখানকার মধ্যে সবচেয়ে ভাল কাজ করেছে, তবে আমাকে কয়েকটি ক্যাচ যোগ করতে হয়েছিল:
import pip
for dist in pip.get_installed_distributions():
if 'site-packages' in dist.location:
try:
pip.call_subprocess(['pip', 'install', '-U', dist.key])
except Exception, exc:
print exc
site-packagesকারণ তারা সিস্টেম সাইট-প্যাকেজ ডিরেক্টরিতে অবস্থিত নেই চেক, আমার উন্নয়ন প্যাকেজ বাদ দেয়। পিআইপিআই থেকে অপসারণ করা প্যাকেজগুলি বাদ দিয়ে চেষ্টা করুন।
@ এন্ডোলিথ: আমি সহজ আশা করছিলাম pip.install(dist.key, upgrade=True) খুব , তবে কমান্ড লাইন (ডক্সগুলি অভ্যন্তরীণ এপিআই উল্লেখ করে না, এবং পাইপ বিকাশকারীরা ব্যবহার করে নি) docstrings)।
pipস্পষ্টতই প্যাকেজগুলিতে /usr/local/lib/python2.7/dist-packagesবা অনুরূপ রাখে । আপনি ifএই ক্ষেত্রে বিবৃতিতে 'সাইট-প্যাকেজ' পরিবর্তে '/ usr / local / lib /' ব্যবহার করতে পারেন ।
pip_upgrade_outdatedপেশা আছে। এর ডক্স অনুসারে :
usage: pip_upgrade_outdated [-h] [-3 | -2 | --pip_cmd PIP_CMD]
[--serial | --parallel] [--dry_run] [--verbose]
[--version]
Upgrade outdated python packages with pip.
optional arguments:
-h, --help show this help message and exit
-3 use pip3
-2 use pip2
--pip_cmd PIP_CMD use PIP_CMD (default pip)
--serial, -s upgrade in serial (default)
--parallel, -p upgrade in parallel
--dry_run, -n get list, but don't upgrade
--verbose, -v may be specified multiple times
--version show program's version number and exit
ধাপ 1:
pip install pip-upgrade-outdated
ধাপ ২:
pip_upgrade_outdated
পিপ লোকের কাছে একটি টান-অনুরোধের মাধ্যমে পাঠানো ; ইতিমধ্যে এই পাইপ লাইব্রেরি সমাধানটি আমি ব্যবহার করেছি:
from pip import get_installed_distributions
from pip.commands import install
install_cmd = install.InstallCommand()
options, args = install_cmd.parse_args([package.project_name
for package in
get_installed_distributions()])
options.upgrade = True
install_cmd.run(options, args) # Chuck this in a try/except and print as wanted
এটি পাইথন 3 এর জন্য পাওয়ারশেল সমাধান:
pip3 list --outdated --format=legacy | ForEach { pip3 install -U $_.split(" ")[0] }
পাইথন 2 এর জন্য:
pip2 list --outdated --format=legacy | ForEach { pip2 install -U $_.split(" ")[0] }
এটি প্যাকেজগুলিকে একে একে আপগ্রেড করে। সুতরাং ক
pip3 check
pip2 check
এরপরে নিশ্চিত হওয়া উচিত যে কোনও নির্ভরতা নষ্ট না হয়।
কেমন:
pip install -r <(pip freeze) --upgrade
এটি কি আরও কার্যকর নয়?
pip3 list -o | grep -v -i warning | cut -f1 -d' ' | tr " " "\n" | awk '{if(NR>=3)print}' | cut -d' ' -f1 | xargs -n1 pip3 install -U
pip list -o পুরানো প্যাকেজগুলি তালিকাভুক্ত করে;grep -v -i warningwarningআপডেট করার সময় ত্রুটিগুলি এড়াতে উল্টানো ম্যাচটি চালুcut -f1 -d1' ' প্রথম শব্দটি ফেরত দেয় - পুরানো প্যাকেজের নাম;tr "\n|\r" " "মাল্টিলাইন ফলাফলকে cutএকক-লাইন, স্থান-বিচ্ছিন্ন তালিকায় রূপান্তর করে ;awk '{if(NR>=3)print}' শিরোনাম লাইন এড়িয়ে যায় cut -d' ' -f1 প্রথম কলামটি নিয়ে আসেxargs -n1 pip install -U এর বাম পাইপ থেকে 1 টি আর্গুমেন্ট নেয় এবং প্যাকেজগুলির তালিকা আপগ্রেড করতে কমান্ডে দেয় tokerberos iwlib PyYAML Could pygpgme Could Could Could ...সমস্ত "পারে" গুলি নোট করুন। pip list -o"<package> প্রয়োজনীয়তা পূরণ করে এমন কোনও ডাউনলোড খুঁজে
pip list -o?
# pip list -o; urwid (Current: 1.1.1 Latest: 1.3.0); Could not find any downloads that satisfy the requirement python-default-encoding; pycups (Current: 1.9.63 Latest: 1.9.68); Could not find any downloads that satisfy the requirement policycoreutils-default-encoding; Could not find any downloads that satisfy the requirement sepolicy;
pip install -U $(pip list -o | grep -i current | cut -f1 -d' ' | tr "\n|\r" " ") । অন্যথায় আপনি সহজেই চান না এমন একটি লাইন মিস করতে পারেন এবং ফলাফলটি ড্রস্ট্রঞ্জ্রেংপ্রক উল্লেখ করেছেন।
xargsপরিবর্তে আমি ব্যবহার করার জন্য দৃ strongly়ভাবে সুপারিশ করব । যে পতাকা নিশ্চিত যদি কোন সেকেলে প্যাকেজ হয় চালানো করা হবে না। পতাকা কোনো কমান্ড চালানোর আগে নিশ্চিত করতে ব্যবহারকারী অনুরোধ জানানো হবে। আপনি প্রতিটি প্যাকেজ পৃথকভাবে ইনস্টল করার আগে আপনাকে অনুরোধ জানাতে পতাকাটি যুক্ত করতে পারেন। pip list -o | awk '/Current:/ {print $1}' | xargs -rp -- pip install -U-rpip install -U-p-n1
অ্যাডমাইট রাইটস, পাইথন 3.6.5 এবং পাইপ ভেরি 10.0.1 সহ পাওয়ারশেল 5.1 এ একটি লাইন:
pip list -o --format json | ConvertFrom-Json | foreach {pip install $_.name -U --no-warn-script-location}
তালিকায় কোনও ভাঙা প্যাকেজ বা বিশেষ চাকা না থাকলে এটি সহজেই কাজ করে ...
pip freeze(যেমনbundle installবাnpm shrinkwrap) এর সঠিক সংস্করণ তালিকাভুক্ত করতে পারেন । টিঙ্কারিংয়ের আগে এর একটি অনুলিপি সংরক্ষণ করা ভাল।