Python3 使用pip安装git并获取Yahoo金融数据的操作


Posted in Python onApril 08, 2021

Python3.6.4必须downgrade成3.5

pip版本最低9.0.3

自己的电脑必须已经安装好git

关于anaconda prompt报错“Cannot find command 'git'”解决

在anaconda prompt执行

conda install pandas-datareader

报错,读prompt的错误,执行它提示的命令,把Python3.6.4降级成3.5,pip升级成9.0.3,过程有点长,5 6分钟。

(有点不太理解的是,Python降级后,我的程序与功能里显示的还是3.6.4 , 可能只是在anaconda里降级了?不懂)

电脑已经安装好git,在git bash里执行

git clone https://github.com/pydata/pandas-datareader.git

执行完毕后,在anaconda prompt里执行

pip install git+https://github.com/pydata/pandas-datareader.git

(因为开始我没有在git bash安装pandas-datareader就直接执行这一步,一直报Cannot find command 'git'”错,我就把git添加到环境变量了,不知道后来有没有帮助)

执行完毕,就可以使用Python获取Yahoo的金融数据了。

# 使用Yahoo Finance的API获取四个公司的股票数据
import pandas as pd
import numpy as np
from pandas_datareader import data
codes = ['AAPL', 'IBM', 'MSFT', 'GOOG'] # 四个股票
all_stock = {}
for ticker in codes:
all_stock[ticker] = data.get_data_yahoo(ticker,start='1/1/2018', end='30/3/2018') # 默认从2010年1月起始
volume = pd.DataFrame({tic: data['volume'] for tic, data in all_stock.items()})
open = pd.DataFrame({tic: data['open'] for tic, data in all_stock.items()})
high = pd.DataFrame({tic: data['high'] for tic, data in all_stock.items()})
low = pd.DataFrame({tic: data['low'] for tic, data in all_stock.items()})
close = pd.DataFrame({tic: data['close'] for tic, data in all_stock.items()})
price = pd.DataFrame({tic: data['adjclose'] for tic, data in all_stock.items()}) # 已调整或者复权后的收盘价,能比较真实反映股票的表现

补充:pip通过setup.py和git仓库安装package

安装setup.py配置文件中的包

进入到setup.py所在目录

pip install -e .

安装git仓库中的包

pip install git+git clone 仓库地址.git

python代码打包为whl格式

python setup.py bdist_wheel --universal

通过setup.py直接安装包

python setup.py build
python setup.py install

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Python 相关文章推荐
python实现定制交互式命令行的方法
Jul 03 Python
利用Python实现网络测试的脚本分享
May 26 Python
Python变量赋值的秘密分享
Apr 03 Python
python 列表降维的实例讲解
Jun 28 Python
对Python中创建进程的两种方式以及进程池详解
Jan 14 Python
Python字典循环添加一键多值的用法实例
Jan 20 Python
pandas实现to_sql将DataFrame保存到数据库中
Jul 03 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
Jan 25 Python
Python安装whl文件过程图解
Feb 18 Python
Python引入多个模块及包的概念过程解析
Sep 21 Python
python邮件中附加文字、html、图片、附件实现方法
Jan 04 Python
深入理解Python变量的数据类型和存储
Feb 01 Python
Django 如何实现文件上传下载
Apr 08 #Python
python3 删除所有自定义变量的操作
Apr 08 #Python
pytorch显存一直变大的解决方案
Apr 08 #Python
Python文件的操作示例的详细讲解
Django展示可视化图表的多种方式
python tkinter模块的简单使用
python如何在word中存储本地图片
You might like
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
2016/09/22 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
2016/11/25 PHP
js 窗口抖动示例
2013/09/04 Javascript
jQuery标签替换函数replaceWith()的使用例子
2014/08/28 Javascript
JavaScript修改浏览器tab标题小技巧
2015/01/06 Javascript
深入理解js generator数据类型
2016/08/16 Javascript
Javascript日期格式化format函数的使用方法
2016/08/30 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
利用C/C++编写node.js原生模块的方法教程
2017/07/07 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
jQuery实现动态添加和删除input框代码实例
2019/03/29 jQuery
js 根据对象数组中的属性进行排序实现代码
2019/09/12 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
2019/10/25 Javascript
Vue filter 过滤当前时间 实现实时更新效果
2019/12/20 Javascript
vue 单页应用和多页应用的优劣
2020/10/22 Javascript
jenkins自动构建发布vue项目的方法步骤
2021/01/04 Vue.js
python类型强制转换long to int的代码
2013/02/10 Python
Python 字符串操作方法大全
2014/03/11 Python
详解python的数字类型变量与其方法
2016/11/20 Python
浅谈flask中的before_request与after_request
2018/01/20 Python
python2.7到3.x迁移指南
2018/02/01 Python
Python函数中不定长参数的写法
2019/02/13 Python
Python实现微信消息防撤回功能的实例代码
2019/04/29 Python
python基于itchat模块实现微信防撤回
2019/04/29 Python
python3.8 微信发送服务器监控报警消息代码实现
2019/11/05 Python
python 解决selenium 中的 .clear()方法失效问题
2020/09/01 Python
分享CSS3制作卡片式图片的方法
2016/07/08 HTML / CSS
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
工程师自我评价怎么写
2013/09/19 职场文书
实习教师个人的自我评价
2013/11/08 职场文书
银行实习鉴定
2013/12/13 职场文书
孔庙导游词
2015/02/04 职场文书
前台岗位职责范本
2015/04/16 职场文书
springcloud之Feign超时问题的解决
2021/06/24 Java/Android
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL