UserWarning:已导入模块matplotlib

Hom*_*lli 2 python 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__)
Run Code Online (Sandbox Code Playgroud)

这是脚本的导入部分:

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
Run Code Online (Sandbox Code Playgroud)

是什么导致警告?

Jea*_*one 9

"问题"在于您安装matplotlib - 或者更确切地说,是您安装的两个 - 而不是您尝试运行的程序.

从消息中,我可以推断出你在/ usr/local中安装了一个版本的matplotlib - 也许是你自己安装的较新版本而不使用OS包管理? - 以及OS标准位置中的另一个版本/usr/lib/pymodules/python2.6.

警告消息告诉您Python 注意到操作系统打包版本,但是它会忽略它(即,不从它加载任何模块),因为它已经在/ usr/local中找到了该版本并且它无法理解来自两个不同目录的模块.

如果您打算使用两个版本并且您打算在/ usr/local中使用该版本,那么警告对您来说基本上无害.

如果您没有意识到安装了两个版本的matplotlib,您可能想尝试稍微清理一下这种情况.