পাইপের `- কোন-ক্যাশে-দির জন্য ভাল?


130

আমি সম্প্রতি --no-cache-dirএকটি ডকার ফাইলে ব্যবহৃত হচ্ছে দেখেছি । আমি আগে কখনও এই পতাকাটি দেখিনি এবং সহায়তা এটি ব্যাখ্যা করছে না:

 --no-cache-dir              Disable the cache.
  1. প্রশ্ন: ক্যাশেড কী?
  2. প্রশ্ন: ক্যাশেটি কীসের জন্য ব্যবহৃত হয়?
  3. প্রশ্ন: আমি কেন এটি অক্ষম করতে চাই?

কিউ 3 তে লং শট: কিছু র‌্যাম বাঁচাতে?
Ma0

4
ডকুমেন্টেশন যে এক এটি বেশ বিস্তৃত: পিপ.পিপা.আইও
en


4
আপনি যখন ডকারের চিত্র তৈরি করছেন তখন আপনি এটি হালকা হতে চান। এটি ক্যাশেড ফাইল সহ চিত্রটি স্ফীতকরণ এড়াতে সহায়তা করে।
ভিক্টর ল্যামোইন

4
@ মিমিকা বিদ্রূপজনকভাবে, কারণ pip no-cache-dirএটি এখন প্রথম ফলাফল।
hlongmore

উত্তর:


102
  1. ক্যাশেড হ'ল লুকিয়ে রাখা বা ভবিষ্যতের ব্যবহারের জন্য সঞ্চয়
  2. ব্যবহারের জন্য
  • .whlআপনি পাইপের মাধ্যমে ইনস্টল করা মডিউলগুলির ইনস্টলেশন ফাইলগুলি ( ইত্যাদি) সঞ্চয় করুন
  • .tar.gzমেয়াদ শেষ না হলে পুনরায় ডাউনলোড এড়াতে উত্স ফাইলগুলি ( ইত্যাদি) সঞ্চয় করুন
  1. সম্ভাব্য কারণ আপনি ক্যাশে অক্ষম করতে চাইতে পারেন:
  • আপনার হার্ড ড্রাইভে আপনার জায়গা নেই
  • পূর্বে অপ্রত্যাশিত সেটিংস pip installদিয়ে চালানো
    • যেমন:
      • পূর্বে চালানো export PYCURL_SSL_LIBRARY=nssএবংpip install pycurl
      • নতুন রান চান export PYCURL_SSL_LIBRARY=opensslএবংpip install pycurl --compile --no-cache-dir
  • আপনি একটি ডকার চিত্রটি যতটা সম্ভব ছোট রাখতে চান

ডকুমেন্টেশন লিঙ্ক

https://pip.pypa.io/en/stable/references/pip_install/#caching - @ emredjan https://pip.pypa.io/en/stable/references/pip_install/ - @mikea


কেন আমি ইনস্টলেশন ফাইলগুলি সঞ্চয় করতে চাই?
মার্টিন থোমা

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

8
আহ, ঠিক আছে. সুতরাং ডকার ইমেজের জন্য যা কেবল মোতায়েনের জন্য ব্যবহৃত হয় (অতএব কোনও "ম্যানুয়াল" ক্রিয়া "নয়) ব্যবহার না করার কোনও কারণ নেই --no-cache-dir, সঠিক?
মার্টিন থোমা

7
হ্যাঁ @ মার্টিনথোমা, একটি প্রোডাকশন ডকার ইমেজে, আপনি পিপ --no-cache-dir ব্যবহার করতে চান, কারণ অন্য কেউ কোনও প্যাকেজ ইনস্টল করবে না, এবং স্টোরেজ স্পেস আরও মূল্যবান ...
ওজগুর ওজটুর্ক

4
হা হা, আমি মনে করি না যে ওপি মানে "ক্যাশেড" মানে কী? " প্রশ্নের জন্য ১।
আরেল

59

আমি মনে করি --no-cache-dirআপনি ডকারের চিত্রগুলি তৈরি করার সময় ব্যবহার করার উপযুক্ত কারণ রয়েছে । ক্যাকারটি সাধারণত ডকারের ছবিতে অকেজো এবং আপনি ক্যাশে অক্ষম করে চিত্রের আকারটি সঙ্কুচিত করে দিতে পারেন।


9
আপনি ENV PIP_NO_CACHE_DIR=1পাইথন 3.6.10 এবং উচ্চতর চিত্রগুলির জন্য ডকারে ব্যবহার করতে পারেন
লেভন

9

পাইপ ক্যাশে অক্ষম করার আরেকটি কারণ - আপনি যদি এখনও উপস্থিত নেই এমন ব্যবহারকারী হিসাবে পিপ চালনা করেন তবে তাদের হোম ডিরেক্টরি তৈরি হবে তবে মূলের মালিকানাধীন।

ক্রোটে অ্যামাজন এএমআই তৈরি করার সময় আমাদের ক্ষেত্রে এটি ঘটে - পাইপটি এমন একটি ব্যবহারকারী হিসাবে চালিত হয় যা বিল্ডার মেশিনে বিদ্যমান থাকে, তবে ক্রুট জেলে নয় যেখানে এএমআই নির্মিত হচ্ছে। এটি সমস্যাযুক্ত কারণ সেই নির্দিষ্ট ব্যবহারকারী এখন তাদের নির্মিত। Ssh ডিরেক্টরিটি যেগুলি দ্বারা পঠনযোগ্য নয় কেবল যা তৈরি হয়েছিল তাতে এটি ছাড়ে না।

আমি মনে করতে পারি না যে পাইপটি এমন কোনও ব্যবহারকারী হিসাবে চালিত হবে যা বিদ্যমান নেই তবে এটি খুব প্রান্তের কেস।


4

আপনার ডকারফাইলে অজগর নির্ভরতা থাকলে আপনার ডকার চিত্রের আকার হ্রাস করুন, কারণ আপনার ব্যক্তিগত রেজিস্ট্রি / শিল্পী বা আপনার স্থাপনার সার্ভিসের আকারের সীমাবদ্ধতা থাকতে পারে।


0

আমি --no-cache-dirবিকল্প ব্যবহার না করা হলে কিছু পাইপ প্যাকেজ ইনস্টল করার জন্য অনুমতি ত্রুটি পেয়েছি ।

Building wheels for collected packages: pyyaml, bottleneck, nvidia-ml-py3
  WARNING: Building wheel for pyyaml failed: [Errno 13] Permission denied: '/home/user/.cache/pip/wheels/b1'
  WARNING: Building wheel for bottleneck failed: [Errno 13] Permission denied: '/home/user/.cache/pip/wheels/92'
  WARNING: Building wheel for nvidia-ml-py3 failed: [Errno 13] Permission denied: '/home/user/.cache/pip/wheels/7f'

chown /.cacheফোল্ডারটি কোনও কারণে সহায়তা করে নি তবে --no-cache-dirএটির সাথে ঠিক আছে।

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