【问题标题】:Trouble importing yahoo finance to python将雅虎财务导入 python 时遇到问题
【发布时间】:2015-05-20 18:01:16
【问题描述】:

我已经使用 pip 从 PyPI 安装了 yahoo Finance,当我运行以下脚本时出现导入错误:没有名为 yahoo_finance 的模块

from yahoo_finance import Share

BlackDiamond = Share('BDE')
print(BlackDiamond.get_open)

【问题讨论】:

  • 您是否安装了多个版本的 Python?也许 pip 与错误的关联。

标签: python yahoo-finance


【解决方案1】:

确保 pip 安装到 Python 的包含路径中的某个位置。运行这个命令:

$ pip show yahoo-finance
---
Metadata-Version: 1.1
Name: yahoo-finance
Version: 1.2.1
Summary: Python module to get stock data from Yahoo! Finance
Home-page: https://github.com/lukaszbanasiak/yahoo-finance
Author: Lukasz Banasiak
Author-email: lukasz@banasiak.me
License: MIT
Location: /usr/local/lib/python2.7/site-packages
Requires: pytz, simplejson
Entry-points:
  [console_scripts]
  yahoo-finance = yahoo_finance:main

看到Location: /usr/local/lib/python2.7/site-packages 的位置了吗?确保您的是系统站点包目录。通常(例如,在 Mac 或 Ubuntu 上)您需要sudo pip install 才能将它们放入系统站点包中。如果您打算以用户身份将其安装到主目录中的某个位置,则需要确保该目录位于您的 python 路径中。

要查看您当前的路径设置,请在您的主目录中创建一个名为 path.py 的文件并包含以下内容:

import os
import sys

try:
    user_paths = os.environ['PYTHONPATH'].split(os.pathsep)
except KeyError:
    user_paths = []

print "PYTHONPATH: ", user_paths
print "sys.path: ", sys.path

运行python path.py,你应该会看到类似这样的输出:

$ python path.py
PYTHONPATH:  ['/usr/local/lib/python2.7/site-packages', '']
sys.path:  ['/Users/me/dir', '/usr/local/Cellar/python/2.7.9/..../lib/python2.7/lib-dynload', '/Library/Python/2.7/site-packages', '/usr/local/lib/python2.7/site-packages']

现在,确保安装 yahoo_finance 的路径在您的路径配置中。如果不是,您可以通过.bashrc 和/或.bash_profile 修改$PYTHONPATH

export PYTHONPATH="${PYTHONPATH}:/path/to/your/dir"

例如:

$ export PYTHONPATH="${PYTHONPATH}:/path/to/your/dir"
$ python path.py
PYTHONPATH:  ['/usr/local/lib/python2.7/site-packages', '', '/path/to/your/dir']

然后,您应该能够包含您的模块。不过,再次重申:如果您要安装系统范围的站点包,您可能只想使用 sudo pip

【讨论】:

  • 谢谢 请问这是问题所在!
  • 太棒了,没问题:)
  • 谢谢,这对我有用:export PYTHONPATH="${PYTHONPATH}:/usr/local/lib/python2.7/dist-packages"
【解决方案2】:

作为 Windows 用户,我不能完全按照 Will 的回答。幸运的是,我直接从我的 IDE(Spyder 5)中发现了一个 PYTHONPATH 管理器,并添加了安装模块的路径。

虽然问题解决了,但我仍然无法解决这个问题。安装过程与我曾经使用过的所有其他软件包的安装过程相同,但在这种情况下,无法识别路径,这是我安装的其余模块的公共目录。

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 2016-06-11
  • 1970-01-01
  • 1970-01-01
  • 2020-10-27
  • 1970-01-01
  • 2017-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多