标题说明了一切。尝试运行与此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)
但是当我尝试导入它时,会发生相同的错误。
答案 0 :(得分:1)
根据我的经验,除非模块拼写错误(根据上面的屏幕快照来看,情况似乎并非如此),ModuleNotFoundError
通常表示安装位置不是在搜索路径中导入模块。
由于这在ipython下为您工作,因此有一种简单的方法来查找您的系统在mplfinance上安装的位置:
In [1]: import mplfinance as mpf
In [2]: mpf.__file__
找出系统在哪里搜索模块
import sys
print(sys.path)
如果您同时在ipython
和jupyter 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
希望它可以解决您的问题。