tanghaibao / jcvi

Python library to facilitate genome assembly, annotation, and comparative genomics
BSD 2-Clause "Simplified" License
757 stars 186 forks source link

FileNotFoundError: missing font metrics file: phvr7t #444

Closed jiangxiuhan0310 closed 1 year ago

jiangxiuhan0310 commented 2 years ago

Hi, teacher. I have encountered problem similar to the above, and I also upgraded JCVI,latex and matplotlib then I run "tlmgr install fontspec".There are no errors reported, It reported “tlmgr install: package already present: fontspec”. and I try to use "tlmgr list phvr7t " to check where is phvr7t , and I got this feedback tlmgr: cannot find package phvr7t, searching for other matches: Packages containing phvr7t' in their title/description: Packages containing files matchingphvr7t': helvetic: texmf-dist/fonts/tfm/adobe/helvetic/phvr7t.tfm texmf-dist/fonts/tfm/adobe/helvetic/phvr7tn.tfm texmf-dist/fonts/vf/adobe/helvetic/phvr7t.vf texmf-dist/fonts/vf/adobe/helvetic/phvr7tn.vf tex4ht: texmf-dist/tex4ht/ht-fonts/alias/adobe/helvetic/phvr7t.htf

So i run jcvi again , but the error report still appears

Traceback (most recent call last): File "/lustre/home/jiangxiuhan/anaconda3/envs/jcvi/lib/python3.6/runpy.py", line 193, in _run_module_as_main "main", mod_spec) File "/lustre/home/jiangxiuhan/anaconda3/envs/jcvi/lib/python3.6/runpy.py", line 85, in _run_code exec(code, run_globals) File "/lustre/home/jiangxiuhan/anaconda3/envs/jcvi/lib/python3.6/site-packages/jcvi/graphics/dotplot.py", line 537, in dotplot_main(sys.argv[1:]) File "/lustre/home/jiangxiuhan/anaconda3/envs/jcvi/lib/python3.6/site-packages/jcvi/graphics/dotplot.py", line 528, in dotplot_main chpf=(not opts.nochpf), File "/lustre/home/jiangxiuhan/anaconda3/envs/jcvi/lib/python3.6/site-packages/jcvi/graphics/dotplot.py", line 356, in dotplot chpf=chpf, File "/lustre/home/jiangxiuhan/anaconda3/envs/jcvi/lib/python3.6/site-packages/jcvi/graphics/dotplot.py", line 156, in plot_breaks_and_labels th = TextHandler(fig) File "/lustre/home/jiangxiuhan/anaconda3/envs/jcvi/lib/python3.6/site-packages/jcvi/graphics/base.py", line 68, in init self.build_height_array(fig) File "/lustre/home/jiangxiuhan/anaconda3/envs/jcvi/lib/python3.6/site-packages/jcvi/graphics/base.py", line 86, in build_height_array w, h = TextHandler.get_text_width_height(fig, size=i) File "/lustre/home/jiangxiuhan/anaconda3/envs/jcvi/lib/python3.6/site-packages/jcvi/graphics/base.py", line 78, in get_text_width_height tp = mpl.textpath.TextPath((0, 0), txt, size=size, usetex=usetex) File "/lustre/home/jiangxiuhan/anaconda3/envs/jcvi/lib/python3.6/site-packages/matplotlib/textpath.py", line 398, in init prop, s, ismath=ismath) File "/lustre/home/jiangxiuhan/anaconda3/envs/jcvi/lib/python3.6/site-packages/matplotlib/textpath.py", line 123, in get_text_path glyph_info, glyph_map, rects = self.get_glyphs_tex(prop, s) File "/lustre/home/jiangxiuhan/anaconda3/envs/jcvi/lib/python3.6/site-packages/matplotlib/textpath.py", line 241, in get_glyphs_tex page, = dvi File "/lustre/home/jiangxiuhan/anaconda3/envs/jcvi/lib/python3.6/site-packages/matplotlib/dviread.py", line 251, in iter while self._read(): File "/lustre/home/jiangxiuhan/anaconda3/envs/jcvi/lib/python3.6/site-packages/matplotlib/dviread.py", line 325, in _read self._dtable[byte](self, byte) File "/lustre/home/jiangxiuhan/anaconda3/envs/jcvi/lib/python3.6/site-packages/matplotlib/dviread.py", line 174, in wrapper return method(self, *[f(self, byte-min) for f in get_args]) File "/lustre/home/jiangxiuhan/anaconda3/envs/jcvi/lib/python3.6/site-packages/matplotlib/dviread.py", line 468, in _fnt_def self._fnt_def_real(k, c, s, d, a, l) File "/lustre/home/jiangxiuhan/anaconda3/envs/jcvi/lib/python3.6/site-packages/matplotlib/dviread.py", line 475, in _fnt_def_real raise FileNotFoundError("missing font metrics file: %s" % fontname) FileNotFoundError: missing font metrics file: phvr7t

could you help me solve this problem ? thank you so much

tanghaibao commented 2 years ago

Duplicate of https://github.com/tanghaibao/jcvi/issues/368

jiangxiuhan0310 commented 2 years ago

Duplicate of #368 Thank you for replying to me in your busy schedule,sir. Actually,at the begaining of the way to solve the problem, I have tried to use the method that you mentioned above.But there had not any errors reported for my command "tlmgr install fontspec". So that it may not be my latex`s error. I double-checked the error log file, I fond a key message that I had not noticed before

"lsat ./latex not fond" "kpathsea can not catch the path"

Then I checked the texmf-dist in the latex , I have fond the "ls-R" file lost many key messages. I reinstalled latex, and the 'ls-R' is restored to its previous state.So that I rerun jcvi , but the JCVI still reported the error above.Its so confusing.

Eventually I found a solution: restart the terminal. It`s so funny that this maybe a joke played on me by the Linux system bash. When we reset the path of the previously existing software in .bashrc, we needed to restart the terminal to prevent the bash environment from still using the path of the previous software, because it would only use the path of the first recorded. I hope this will help anyone who has a similar problem to mine