安装无法解决ModuleNotFoundError:没有名为“ mpl_finance”的模块

时间:2020-07-31 10:07:17

标签: python matplotlib

标题说明了一切。尝试运行与此matplotlib candlestikck tutorial相关的代码后,出现错误:

ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-5aa61276079d> in <module>
      2 import numpy as np
      3 import yfinance
----> 4 from mpl_finance import candlestick_ohlc
      5 import matplotlib.dates as mpl_dates
      6 import matplotlib.pyplot as plt

ModuleNotFoundError: No module named 'mpl_finance'

所以我安装了它并重新启动了内核,但是仍然没有骰子。接下来,我在这里听从了别人的建议,安装了mplfinance并重新启动了内核,同样也没有成功。我重新启动,没有。我什至尝试安装“ mlp_finance”作为此处的另一个答案,建议希望这是一些奇怪的名称冲突问题,但同样没有用。为什么我不能导入mplfinance?

添加202007311328:这是一个Jupyter笔记本;我可以在命令行上安装和导入很好。从Jupyter内部使用“!pip3 install mpl_finance”安装mpl_finance不会产生错误:

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: mpl_finance in /home/pi/src/pyfin1/pyfin1.env2/lib/python3.7/site-packages (0.10.1)
Requirement already satisfied: matplotlib in /home/pi/src/pyfin1/pyfin1.env2/lib/python3.7/site-packages (from mpl_finance) (3.2.1)
Requirement already satisfied: numpy>=1.11 in /home/pi/src/pyfin1/pyfin1.env2/lib/python3.7/site-packages (from matplotlib->mpl_finance) (1.18.4)
Requirement already satisfied: cycler>=0.10 in /home/pi/src/pyfin1/pyfin1.env2/lib/python3.7/site-packages (from matplotlib->mpl_finance) (0.10.0)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /home/pi/src/pyfin1/pyfin1.env2/lib/python3.7/site-packages (from matplotlib->mpl_finance) (2.4.7)
Requirement already satisfied: python-dateutil>=2.1 in /home/pi/src/pyfin1/pyfin1.env2/lib/python3.7/site-packages (from matplotlib->mpl_finance) (2.8.1)
Requirement already satisfied: kiwisolver>=1.0.1 in /home/pi/src/pyfin1/pyfin1.env2/lib/python3.7/site-packages (from matplotlib->mpl_finance) (1.2.0)
Requirement already satisfied: six in /home/pi/src/pyfin1/pyfin1.env2/lib/python3.7/site-packages (from cycler>=0.10->matplotlib->mpl_finance) (1.14.0)

但是当我尝试导入它时,会发生相同的错误。

编辑2020071343,这是我安装mplfinance并使用它的图像。有什么东西突然冒出来吗? jupyter notebook sequence of installing and importing mplfinance

已解决,请参见https://github.com/jupyter/notebook/issues/3311

2 个答案:

答案 0 :(得分:1)

根据我的经验,除非模块拼写错误(根据上面的屏幕快照来看,情况似乎并非如此),ModuleNotFoundError通常表示安装位置不是在搜索路径中导入模块。

由于这在ipython下为您工作,因此有一种简单的方法来查找您的系统在mplfinance上安装的位置:

In [1]: import mplfinance as mpf
In [2]: mpf.__file__

找出系统在哪里搜索模块

import sys
print(sys.path)

如果您同时在ipythonjupyter notebook中运行上述内容,我想您会发现 sys.path 不同/ em>来安装ipython,而不是jupyter笔记本(并且笔记本的搜索路径不包括安装位置)。这可能是由于各种原因,例如环境变量,安装了jupyter的位置,是否正在运行虚拟和/或conda环境等。您可以在此处了解有关模块搜索路径的更多信息:https://docs.python.org/3/tutorial/modules.html#the-module-search-path

请注意,如果您使用的是虚拟环境或conda环境,则必须(1)在安装mplfinance之前 激活环境,以及(2)在运行jupyter之前激活环境。笔记本。在激活的环境中,可能还需要单独安装Jupyter Notebook

请让我知道以上内容是否为您提供了足够的信息来解决此问题。如果没有,请提供上述命令的输出,我会尽力帮助您。祝一切顺利。 -丹尼尔

答案 1 :(得分:0)

这曾经发生在我身上。就我而言,问题是:

通常,pc安装了2个版本的python-Python 2,Python3。如果您运行pip install。它只是将该模块自己安装到python2或Python3。

解决方案: 如果您的程序在python3下运行

python3 -m pip install mlp_finance

如果您的程序在python2下运行

python2 -m pip install mlp_finance

希望它可以解决您的问题。