2013-12-14 22 views
8

tôi có nhập khẩu như vậy và mã:ImportError: Không có mô-đun tên backend_tkagg

import pandas as pd 
import numpy as np 
import statsmodels.formula.api as sm 
import matplotlib.pyplot as plt  


#Read the data from pydatasets repo using Pandas 
url = './file.csv' 
white_side = pd.read_csv(url)  
#Fitting the model  
model = sm.ols(formula='budget ~ article_size', 
       data=white_side, 
       subset=white_side['producer'] == "Peter Jackson") 
fitted = model.fit() 
print fitted.summary() 

Sau khi thực hiện các mã này tôi có lỗi như vậy:

/usr/bin/python2.7 /home/seth/PycharmProjects/osiris_project/PMN_way/start.py 
Traceback (most recent call last): 
    File "/home/seth/PycharmProjects/osiris_project/PMN_way/start.py", line 5, in <module> 
    import matplotlib.pyplot as plt 
    File "/usr/lib64/python2.7/site-packages/matplotlib/pyplot.py", line 98, in <module> 
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup() 
    File "/usr/lib64/python2.7/site-packages/matplotlib/backends/__init__.py", line 25, in pylab_setup 
    globals(),locals(),[backend_name]) 
ImportError: No module named backend_tkagg 

Process finished with exit code 1 

I`m sử dụng openSUSE và cộng đồng pycharm phiên bản mới nhất phiên bản với gấu trúc đã cài đặt, numpy, vv Làm cách nào để khắc phục sự cố này?

Trả lời

9

Tôi đã thấy điều này trước đây, cũng trên openSUSE (12.3). Bản sửa lỗi là chỉnh sửa tệp matplotlibrc mặc định.

Đây là cách bạn tìm thấy nơi các tập tin cuộc sống matplotlibrc mặc định, và nơi nó sống trên máy tính của tôi:

>>> import matplotlib 
>>> matplotlib.matplotlib_fname() 
'/usr/lib64/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc' 

Thiết lập phụ trợ là các tùy chọn cấu hình đầu tiên trong tập tin này. Thay đổi nó từ TkAgg thành Agg hoặc một số chương trình phụ trợ khác mà bạn đã cài đặt trên hệ thống của mình. Các chú thích trong tập tin matplotlibrc liệt kê tất cả các backend được hỗ trợ bởi matplotlib.

Phần phụ trợ được chỉ định trong tệp này chỉ là mặc định; bạn vẫn có thể thay đổi nó trong thời gian chạy bằng cách thêm hai dòng sau đây, trước khi bất kỳ nhập khẩu matplotlib khác:

import matplotlib 
matplotlib.use("Agg") # or whichever backend you wish to use 
+1

Tốt câu trả lời. Ví dụ cấu hình matplotlib chính thức: http://matplotlib.org/users/customizing.html – Plamen

+0

Điều này không hiệu quả đối với tôi. Tuy nhiên, tôi đã có thể sửa lỗi bằng cách nhập mô đun phụ trợ trước khi nhập matplotlib.pyplot. Xem câu trả lời của tôi. Tôi hy vọng có một giải pháp tốt hơn so với tôi liên quan đến việc xác định đường dẫn đến các mô-đun phụ trợ. – user3731622

8

tôi sử dụng openSuSE 13.1 và có cùng một lỗi "ImportError: Không có mô-đun tên backend_tkagg".

Tôi đã giải quyết nó bằng cách sử dụng đề xuất này: http://forums.opensuse.org/showthread.php/416182-Python-matplolib.

Tôi đã cài đặt gói python-matplotlib-tk, và bây giờ nó hoạt động tốt.

Ví dụ: bạn có thể sử dụng: zypper install python-matplotlib-tk

0

tôi đã có thể khắc phục điều này bằng cách đặt

import matplotlib.backends.backend_tkagg 

trên

import matplotlib.pyplot as plt 

Note, tôi nhận được lỗi tương tự khi cố gắng chạy một thực thi được tạo ra sử dụng Py2exe.

Dưới đây là những gì tôi nhận được khi tôi chạy TheProgram.exe từ dấu nhắc lệnh:

>>TheProgram.exe 
Traceback (most recent call last): 
    File "ThePythonScriptToMakeIntoExe.py", line 14, in <module> 
    File "C:\Python34\lib\site-packages\matplotlib\pyplot.py", line 109, in <module> 
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup() 
    File "C:\Python34\lib\site-packages\matplotlib\backends\__init__.py", line 32, in pylab_setup 
    globals(),locals(),[backend_name],0) 
ImportError: No module named 'matplotlib.backends.backend_tkagg' 
2

tôi đã cố gắng giải pháp khác nhau, chỉ hoạt động này đối với tôi:

sudo pip install matplotlib --upgrade 
+0

nó đã hoạt động !! cảm ơn –

Các vấn đề liên quan