01/10/2018, 14:05

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 ạ.

HK boy viết 16:17 ngày 01/10/2018

ImportError: cannot import name stringto_bool

Bạn up code lên được không?

nguyenchihai viết 16:06 ngày 01/10/2018

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.

Hung viết 16:14 ngày 01/10/2018

Dependency package:
https://matplotlib.org/users/installing.html#dependencies

Hoặc cài Scientific package Anaconda.

nguyenchihai viết 16:09 ngày 01/10/2018

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.

Hung viết 16:20 ngày 01/10/2018

Không quen thì bạn cài Anaconda đi

nguyenchihai viết 16:17 ngày 01/10/2018

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.)

github.com/matplotlib/matplotlib

Issue: UnicodeDecodeError: 'ascii' codec can't decode byte 0x8e in position 20: ordinal not in range(128)

opened by javadr on 2017-09-17
closed by tacaswell on
Bug report
When I want to use pyplot from matplotlib, it causes error.
There is no problem with import matplotlib but I cannot...
Release critical text

Xin cám ơn.

Hung viết 16:06 ngày 01/10/2018

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

Bài liên quan
0