python - 安装无法解决 ModuleNotFoundError: No module named 'mpl_finance'
问题描述
标题说明了一切。在尝试运行与此 matplotlib 烛台教程相关的代码时,出现错误:
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 notebook;我可以在命令行上很好地安装和导入。使用“!pip3 install mpl_finance”从 jupyter 内部安装 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)
但是当我尝试导入它时会发生同样的错误。
解决方案
根据我的经验,除非模块拼写错误(根据上面的屏幕截图,情况似乎并非如此),否则ModuleNotFoundError
通常表明安装位置不在导入模块的搜索路径中。
因为这在 ipython 下对你有用,所以有一个简单的方法来找到你的系统安装 mplfinance 的位置:
In [1]: import mplfinance as mpf
In [2]: mpf.__file__
找出您的系统在哪里搜索模块
import sys
print(sys.path)
ipython
如果你在你的和你的两者中运行上述jupyter notebook
,我猜你会发现你sys.path
的ipython 安装与你的 jupyter 笔记本不同(并且笔记本的搜索路径不包括安装位置)。这可能是由于各种原因,例如环境变量、安装 jupyter 的位置、您是否正在运行虚拟和/或 conda 环境等。您可以在此处阅读有关模块搜索路径的更多信息:https ://docs.python.org/ 3/tutorial/modules.html#the-module-search-path
请注意,如果您使用的是虚拟环境或 conda 环境,则必须 (1)在安装之前mplfinance
激活环境,以及 (2) 在运行 jupyter notebook 之前激活环境。可能还需要在激活的环境中单独安装 jupyter notebook。
让我知道以上是否为您提供了足够的信息来解决问题。如果没有,请提供上述命令的输出,我会尽我所能提供进一步的帮助。一切顺利。——丹尼尔
推荐阅读
- spring - 无法在测试 spring boot jpa 中断言更新的值
- html - Firefox 49.0.1 需要旧版 FireBug
- c - 将 UTC 日期和时间转换为 UNIX 时间会给出错误的(时区不同)值。为什么?
- c# - 将 Active 活动的漂亮 json 输出反序列化为 c# 对象
- python - 在多个文本文件中搜索字符串
- javascript - JavaScript:需要一个标识符,而是看到“myFunction”
- php - 为什么这个带有 HTML(下拉)选择项的 PHP 和 SQL 代码什么都不做?
- maven - 有没有办法自动增加通过詹金斯构建工作的版本?
- azure-devops - 如何为 Azure DevOps 中的计划构建自定义提交名称
- python - Groupby 同时按两个不同的选项