আরও দৃ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 টি ভালভাবে ডিজাইন করা এবং পরীক্ষিত হয়েছে , তবে সর্বাধিক জনপ্রিয় সমাধানগুলির ক্ষেত্রেও সমস্যা রয়েছে।
- পিপ কমান্ড লাইন বৈশিষ্ট্যগুলি পরিবর্তনের কারণে পোর্টেবলতা সংক্রান্ত সমস্যা issues
- এক্সগার্সের ক্রাশ কারণ সাধারণ পিপ বা পাইপ 3 শিশু প্রক্রিয়া ব্যর্থ
- কাঁচা xargs আউটপুট থেকে ক্রাউড লগিং
- সম্ভাব্যত এটি 3 আপগ্রেড করার সময় পাইথন-টু-ওএস ব্রিজের উপর নির্ভরশীল
উপরোক্ত কমান্ড এই সমস্যাগুলি পুরোপুরি কাটিয়ে উঠতে সেড এবং শ এর সাথে একত্রে সবচেয়ে সহজ এবং বহনযোগ্য পাইপ সিনট্যাক্স ব্যবহার করে। মন্তব্য করা সংস্করণ 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
[]] পাইথন বা পিআইপি উপাদান আপগ্রেড করা যা পাইথন বা পিআইপি উপাদান আপগ্রেড করতে ব্যবহৃত হয় তা অচলাবস্থা বা প্যাকেজ ডাটাবেসের দুর্নীতির সম্ভাব্য কারণ হতে পারে।
pip freeze
(যেমনbundle install
বাnpm shrinkwrap
) এর সঠিক সংস্করণ তালিকাভুক্ত করতে পারেন । টিঙ্কারিংয়ের আগে এর একটি অনুলিপি সংরক্ষণ করা ভাল।