Python: Lỗi khi "import matplotlib"
Mình mới học python còn gà mờ.
Mình gặp lỗi khi gõ dòng code trên sumlime text:
import numpy as np
import cv2
import matplotlib.pyplot as plt
cv2.waitKey(0)
cv2.destroyAllWindows
thì xuất hiện lỗi là:
Traceback (most recent call last): from matplotlib.figure import Figure, figaspect
File "C:Python27libsite-packagesmatplotlibfigure.py", line 36, in <module>
from matplotlib.axes import Axes, SubplotBase, subplot_class_factory
File "C:Python27libsite-packagesmatplotlibaxes\__init__.py", line 4, in <module>
from ._subplots import *
File "C:Python27libsite-packagesmatplotlibaxes\_subplots.py", line 10, in <module>
from matplotlib.axes._axes import Axes
File "C:Python27libsite-packagesmatplotlibaxes\_axes.py", line 17, in <module>
from matplotlib.cbook import _string_to_bool, mplDeprecation
ImportError: cannot import name _string_to_bool
[Finished in 0.5s]
Mình có search gg là thiếu Six, và mình cũng đã install rồi (pip install six
và kết quả trả về là: requirement already satisfied: six in c:python27libsite-pakages)
Nhưng vẫn không hết lỗi.
mình import riêng:
import matplotlib
thôi thì vẫn ok.
Mình cũng thử 1 code đó lên Spyder thì lỗi hiện lên khác:
Traceback (most recent call last):
File “C:Python27libsite-packagesIPythoncoreinteractiveshell.py”, line 2894, in run_code
self.showtraceback()
File “C:Python27libsite-packagesIPythoncoreinteractiveshell.py”, line 1756, in showtraceback
value, tb, tb_offset=tb_offset)
File “C:Python27libsite-packagesIPythoncoreultratb.py”, line 1190, in structured_traceback
self, etype, value, tb, tb_offset, context)
File “C:Python27libsite-packagesIPythoncoreultratb.py”, line 1107, in structured_traceback
self, etype, value, elist, tb_offset, context
File “C:Python27libsite-packagesIPythoncoreultratb.py”, line 501, in structured_traceback
out_list.extend(self._format_list(elist))
File “C:Python27libsite-packagesIPythoncoreultratb.py”, line 537, in _format_list
Colors.name, name, Colors.Normal)
UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe3 in position 26: ordinal not in range(128)
Ai biết bày mình với. cám ơn ạ.
Bạn up code lên được không?
mình có sửa lại bài viết rồi đó bạn. mấy cái linh tinh mình xóa hết rồi. và phát hiện ra lỗi ở phần import thôi.
Dependency package:
https://matplotlib.org/users/installing.html#dependencies
Hoặc cài Scientific package Anaconda.
Cám ơn bạn đã reply.
Nhưng bạn ơi. bạn nói rõ rõ hơn giúp mình được không? vì mình cũng không phải dân IT. thích lập trình nên đang tập tành thôi. thank bạn trước.
Không quen thì bạn cài Anaconda đi
mình có gg thì hình như 1 người đã khắc phục được. nhưng từ ngữ mình không hiêu lắm. Mong được hướng dẫn hộ. họ nói như thế này:
I found the problem, It was because of my installed fonts! I removed some of them and now I can use matplotlib without any problem. As I noticed some of my fonts were duplicates! (Two distinct directories contained the same set of fonts, so I deleted one of them and it solved the problem.)
Issue: UnicodeDecodeError: 'ascii' codec can't decode byte 0x8e in position 20: ordinal not in range(128)
Xin cám ơn.
Mình không chắc về lỗi encode bên Windows. Vì mình đã bỏ Win sang Linux vì mấy lỗi nhảm nhí thế này. Có một số best practice bạn có thể theo nếu xài trên Windows:
Tên file, thư mục luôn ở dạng snake_case, không có khoảng trắng space.
Tên file, thư mục không quá dài, khoảng 16 đổ lại là đẹp
Dùng Editor nào cũng đặt encode là utf8, kí tự xuống dòng là LF.
Code không có tiếng Việt, chữ tượng hình, emoji