ম্যাটপ্লটলিব যখন আমদানি করা হচ্ছে তখন সময় নিচ্ছে


103

আমি সবেমাত্র matplotlib(1.5.1) এর সর্বশেষ স্থিতি প্রকাশে আপগ্রেড করেছি এবং প্রতিবার আমি ম্যাটপ্ল্লোলিব আমদানি করে আমি এই বার্তাটি পাই:

/usr/local/lib/python2.7/dist-packages/matplotlib/font_manager.py:273: UserWarning: Matplotlib is building the font cache using fc-list. This may take a moment.
  warnings.warn('Matplotlib is building the font cache using fc-list. This may take a moment.')

... যা সর্বদা কয়েক সেকেন্ডের জন্য স্টল করে।

এটা কি প্রত্যাশিত আচরণ? এটি আগেও একই ছিল, তবে কেবল মুদ্রিত বার্তা ছাড়া?


32
প্রাসঙ্গিক: github.com/matplotlib/matplotlib/pull/5640 । পরামর্শটি হ'ল এর সামগ্রীগুলি মুছুন ~/.cache/matplotlibএবং আবার চেষ্টা করুন। এটি কোনও অনুমতি সংক্রান্ত সমস্যা হতে পারে
প্রতিবার

আমি সর্বশেষ মন্তব্য পড়েনি। ধন্যবাদ!
রিকি রবিনসন

7
এটি আমার পক্ষে কাজ করেছে। পাইপথন ২.7 সহ উবুন্টু ১৪.০৪.২ তে আমি files / .cache / matplotlib / এ থাকা সমস্ত ফাইল মুছে ফেলেছি। প্রথমে আমি ভেবেছিলাম এটি কার্যকর হয়নি কারণ পরে আমি সতর্কতা পেয়েছি। তবে ক্যাশে ফাইলগুলি পুনর্নির্মাণের পরে সতর্কতাটি চলে গেল। :)
ন্যান্সি পোকার্ট

একটি মোড_উইজি + অ্যাপাচি httpd + সেন্টো সংমিশ্রণে - যখন ব্রাউজার থেকে একটি অনুরোধ প্রেরণ করা হয় তখন httpd কেবলমাত্র ফন্ট ক্যাশেটি নির্মিত হচ্ছে বলে অপেক্ষা করে .... এটি 6 মিনিটেরও বেশি অপেক্ষা করে এবং চলতে থাকে .... এবং কখনই সম্পূর্ণ হয় না হরফ আপডেট। আপনি কি দয়া করে এটি সমাধান করার পরামর্শ দিতে পারেন? ধন্যবাদ
বিনোদোধ

উত্তর:


116

যেমন টম উপরের মন্তব্যে প্রস্তাবিত হয়েছে, ফাইলগুলি মুছে ফেলা হচ্ছে:

fontList.cache
fontList.py3k.cache 
tex.cache 

সমস্যা টার সমাধান কর. আমার ক্ষেত্রে ফাইলগুলি এর অধীনে ছিল:

`~/.matplotlib`

সম্পাদিত

কয়েক দিন আগে বার্তাটি আবার উপস্থিত হয়েছিল, আমি কোনও উল্লেখ ছাড়িয়েই উল্লিখিত লোকেশনগুলির ফাইলগুলি মুছলাম। আমি দেখেছি যেমন যে এখানে দ্বারা টি Mudau আছে টেক্সট ক্যাশে ফাইল সঙ্গে একটি অতিরিক্ত অবস্থান হল:~/.cache/fontconfig


6
আমি ওএসএক্স এল ক্যাপিটেনে আছি এবং এটি সমস্যার সমাধান করে না। কোন চিন্তা?
মার্চ টিন

2
এল ক্যাপিটেনে আমাকে ~ / .cache / fontList বা অনুরূপ সরিয়ে ফেলতে হয়েছিল।
চিনাবাদাম_বাটার

29
mpl.get_cachedir()ক্যাশে অবস্থানের দস্তাবেজগুলি
লেনা

2
আমি ওএস এক্স এল ক্যাপিটেনে আছি এবং এটি সমস্যার সমাধান করে।
নম্বর

6
নোট করুন যে এই ফাইলগুলি মুছে ফেলার পরে আপনি আরও একবার সতর্কতাটি পাবেন - পরের বার আপনি ম্যাটপ্লটলিব আমদানি করবেন। তারপরে আপনি সেট হয়ে গেছেন।
ohruunuruus

25

নিশ্চিত হুগো এর উবুন্টু 14.04 এলটিএস / ম্যাটপ্ল্লোলিব 1.5 1.5.1 এর জন্য কাজ করে:

  • deleted / .cache / matplotlib / fontList.cache মোছা হয়েছে
  • রান কোড, আবার সতর্কতা জারি করা হয়েছিল (অনুমান: সঠিকভাবে ক্যাশে পুনর্নির্মাণ করা হচ্ছে)
  • আবার কোড চালানো, আর সতর্কতা নেই (শেষ অবধি)

12

ওএসএক্স ইয়োসেমাইটে (সংস্করণ 10.10.15), নিম্নলিখিতগুলি আমার জন্য কাজ করেছে:

  • এই ডিরেক্টরি থেকে ক্যাশে ফাইলগুলিও সরান: ~ / .cache / fontconfig (টমের পরামর্শ অনুযায়ী)
    rm -rvf ~/.cache/fontconfig/*
  • । / .matplotlib (হুগোর পরামর্শ অনুসারে) .cache ফাইলগুলিও সরানো হয়েছে
    rm -rvf ~/.matplotlib/*

ম্যাকোস এক্স এল ক্যাপ্টেনে আমার জন্য কাজ করেছেন। আমার ধারণা আছে যে এটি অন্যান্য গ্রন্থাগারগুলিকেও দ্রুত লোড করে দিয়েছে।
SEF

ম্যাকোস 10.12 এ কাজ করেছে। ২ য় লোডে, বার্তাটি আর পাবেন না।
ডেমিস

9

আমি একবারে সুডো ব্যবহার করে পাইথন কোডটি চালিয়েছি এবং এটি আমার জন্য সতর্কবার্তাটি সমাধান করেছে। এখন এটি দ্রুত চালায়। সুডো ছাড়া দৌড়ানো কোনও সতর্কতা দেয় না।

চিয়ার্স


স্ট্যাক ওভারফ্লোতে স্বাগতম! যতক্ষণ এই তাত্ত্বিক প্রশ্নের উত্তর হতে পারে, এটা বাঞ্ছনীয় হবে উত্তর অপরিহার্য অংশের এখানে অন্তর্ভুক্ত করা, এবং রেফারেন্স এর জন্য লিঙ্ক প্রদান।
এনামুল হাসান

আমি ম্যাক ওএসএক্স এল ক্যাপিটনে জুপিটার নোটবুক চালাচ্ছি। আমি sudo jupyter notebookতখন import matplotlib.pyplotএকটি নোটবুকে দৌড়েছি এবং এটি আমার সমস্যার সমাধান করেছে।
কুংফিল

আমি কয়েক মাস ধরে এটির সাথে লড়াই করে যাচ্ছি এবং এটি সমাধান করেছে! আমি OS 10.9.5 এ আছি।
টেক্টোপোডা

1
ঠিক আছে, আপনি যদি স্বীকৃত উত্তরটি একবার দেখে থাকেন তবে আপনি যা করেছেন তা আপনি দেখতে পাবেন যে আপনি ব্যবহারকারীকে পরিবর্তন করে সমস্যার সমাধান করেছেন, এবং যেহেতু মূল হোম ডিরেক্টরিতে সমস্যা নেই mat / .matplotlib অদৃশ্য হয়ে যায়।
Rsh

@ র্যাশ নং, মূল অনুমতিগুলি ব্যবহার করতে বলার উত্তরগুলি বলে যে এটি একবারের মূল হিসাবে চালানো এটি হয়ে যায় যাতে আপনি যদি নিয়মিত ব্যবহারকারীর হিসাবে চালনা করেন তবে এটি আবার ক্যাশে তৈরি করে না। যাইহোক, এটি আমার পক্ষে কার্যকর হয়নি।
sudo

3

আমি পাইথন কোড ডাব্লু। সুডো এবং এটি সেরে উঠল ... আমার ধারণা যে টেবিলটি লেখার অনুমতি নেই ... শুভকামনা!


0

এইচআই আপনার অবশ্যই এই ফাইলটি খুঁজে পাবেন: font_manager.py আমার ক্ষেত্রে: সি: \ ব্যবহারকারীগণ ust গুস্তাভো \ অ্যানাকোন্ডা 3 \ লিবি \ সাইট-প্যাকেজস \ ম্যাটপ্লোটিলিব \ ফন্ট_ম্যানেজআরপি

এবং ডিফ উইন 32 ইনস্টলড ফন্টগুলি (ডিরেক্টরি = কিছুই নয়, ফন্টেক্সট = 'টিটিএফ') এবং এটিকে প্রতিস্থাপন করুন:

Def win32InstalledFouts (ডিরেক্টরি = কিছুই নয়, fontext = 'ttf'): "" "নির্দিষ্ট ফন্ট ডিরেক্টরিতে ফন্টগুলির জন্য অনুসন্ধান করুন, বা যদি কিছু না দেওয়া হয় তবে সিস্টেম ডিরেক্টরিগুলি ব্যবহার করুন True fontext == 'afm'। "" "

from six.moves import winreg
if directory is None:
    directory = win32FontDirectory()

fontext = get_fontext_synonyms(fontext)

key, items = None, {}
for fontdir in MSFontDirectories:
    try:
        local = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, fontdir)
    except OSError:
        continue

    if not local:
        return list_fonts(directory, fontext)
    try:
        for j in range(winreg.QueryInfoKey(local)[1]):
            try:
                key, direc, any = winreg.EnumValue(local, j)
                if not is_string_like(direc):
                    continue
                if not os.path.dirname(direc):
                    direc = os.path.join(directory, direc)
                    direc = direc.split('\0', 1)[0]

                if os.path.splitext(direc)[1][1:] in fontext:
                    items[direc] = 1
            except EnvironmentError:
                continue
            except WindowsError:
                continue
            except MemoryError:
                continue
        return list(six.iterkeys(items))
    finally:
        winreg.CloseKey(local)
return None

0

এটি পাইথন 3.5.2 সঙ্গে উবুন্টু 16.04 এলএসটিতে আমার জন্য কাজ করেছিল for অ্যানাকোন্ডা 4.2.0 (64-বিট) । আমি সমস্ত ফাইল মুছে ফেলেছি ~/.cache/matplotlib/

sudo rm -r fontList.py3k.cache tex.cache 

প্রথমে আমি ভেবেছিলাম এটি কার্যকর হবে না, কারণ পরে আমি সতর্কতা পেয়েছি। তবে ক্যাশে ফাইলগুলি পুনর্নির্মাণের পরে সতর্কতাটি চলে গেল। সুতরাং, আপনার ফাইলটি বন্ধ করুন এবং আবার খুলুন (আবার খুলুন), এতে কোনও সতর্কতা নেই।


-1

এটি আমার পক্ষে কাজ করেছে:

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