2012-03-09 2 views
2

я получаю следующее предупреждение, когда выполнение сценария:UserWarning: Модуль Matplotlib уже импортирован

/usr/lib/pymodules/python2.6/mpl_toolkits/__init__.py:2: UserWarning: Module matplotlib was already imported from /usr/local/lib/python2.6/dist-packages/matplotlib/__init__.pyc, but /usr/lib/pymodules/python2.6 is being added to sys.path 
    __import__('pkg_resources').declare_namespace(__name__) 

Вот секция импорта сценария:

from __future__ import division 
import csv 
from datetime import datetime, timedelta 
from random import random 
import numpy as np 
from matplotlib.figure import Figure 
from matplotlib.backends.backend_agg import FigureCanvasAgg as Canvas 
from matplotlib.finance import candlestick, plot_day_summary 
from matplotlib.ticker import FuncFormatter 
from matplotlib.patches import Circle, Rectangle 
from matplotlib.lines import Line2D 
from mpl_toolkits.axes_grid import make_axes_locatable 
from mpl_toolkits.axes_grid.axes_size import AxesY 
from matplotlib.font_manager import FontProperties 
from mpl_toolkits.axes_grid.parasite_axes import SubplotHost 
from matplotlib import rcParams 

Что вызывает предупреждение?

+0

Я получаю аналогичную ошибку при запуске кода, за исключением того, что он жалуется на уже импортируемый модуль 'readline'. Линией, которая вызывала проблемы, была 'from mpl_toolkits.axes_grid import make_axes_locatable' –

ответ

9

«Проблема» связана с установкой matplotlib - точнее, двумя вашими установками - не с программой, которую вы пытаетесь запустить.

Из сообщения я могу заключить, что у вас есть одна версия matplotlib, установленная в/usr/local - возможно, более новая версия, которую вы установили самостоятельно, без использования управления пакетами ОС? - и другую версию в стандартном расположении ОС, /usr/lib/pymodules/python2.6.

предупреждающее сообщение говорит о том, что Python заметил ОС упакована версию, но она будет игнорировать его (то есть, не загружать любые модули из него), потому что уже нашел версию в/USR/местные и он не может иметь смысл иметь модули из двух разных каталогов.

Если вы хотели иметь две версии, и вы хотели использовать версию в/usr/local, то предупреждение для вас совершенно безвредно.

Если вы не понимаете, что у вас есть две версии matplotlib, вы можете попытаться немного убрать эту ситуацию.

Смежные вопросы