以前作ったツールが突然エラーを出すようになりました。この記事を書く数週間前の話です。以前の記事については以下を参照ください
![Python[完全]入門 [ 松浦健一郎 ] Python[完全]入門 [ 松浦健一郎 ]](https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/7647/9784815607647.jpg?_ex=128x128)
- 価格: 3190 円
- 楽天で詳細を見る
コードは全く変更してないのに急に動かなくなるとか、どーいうことよ?試しに簡単なコードを作ってみます。
import yfinance as yf
import pandas as pd
ticker_info = yf.Ticker("CVX")
print(ticker_info.actions)
ticker_df = pd.DataFrame.from_dict(ticker_info.info, orien\
t='index', columns=['Value'])
print(ticker_df)
特に問題なければ、米国株CVX(シェブロン)の基礎的な情報を取得できるはずですが、以下の通り、エラーとなりました。
$CVX: possibly delisted; no price data found (1d 1926-03-17 -> 2025-02-20) Series([], dtype: object) 429 Client Error: Too Many Requests for url: https://query2.finance.yahoo.com/v10/finance/quoteSummary/CVX?modules=financialData%2CquoteType%2CdefaultKeyStatistics%2CassetProfile%2CsummaryDetail&corsDomain=finance.yahoo.com&formatted=false&symbol=CVX&crumb=Edge%3A+Too+Many+Requests : :
エラーメッセージ的にはこれと言ってピンと来るものはないが、考えうる対策はバージョン上げるとかだろうな。
ライブラリの現行バージョンと最新バージョンをを確認するにはpip list -oですね。やってみますか…
$ pip list -o Package Version Latest Type ------------------------ Flask 3.0.3 3.1.0 wheel Jinja2 3.1.4 3.1.5 wheel lxml 5.3.0 5.3.1 sdist numpy 1.26.5 2.2.3 sdist pandas 2.2.2 2.2.3 sdist pip 24.2 25.0.1 wheel yfinance 0.2.43 0.2.54 wheel
…全体的に最新ではないんですけど、とりあえず、yfinanceだけ更新してみました。pip install -U パッケージ名を実行します。
長いですが、実行結果を全文記載します。yfinanceを動かすためには、非常に多くの他のパッケージに依存してるんだな、という気づきであります。
$ pip install -U yfinance Requirement already satisfied: yfinance in /data/data/com.termux/files/usr/lib/python3.11/site-packages (0.2.43) Collecting yfinance Downloading yfinance-0.2.54-py2.py3-none-any.whl.metadata (5.8 kB) Requirement already satisfied: pandas>=1.3.0 in /usr/lib/python3.11/site-packages (from yfinance) (2.2.2) Requirement already satisfied: numpy>=1.16.5 in /usr/lib/python3.11/site-packages (from yfinance) (1.26.5) Requirement already satisfied: requests>=2.31 in /usr/lib/python3.11/site-packages (from yfinance) (2.32.3) Requirement already satisfied: multitasking>=0.0.7 in /usr/lib/python3.11/ site-packages (from yfinance) (0.0.11) Requirement already satisfied: platformdirs>=2.0.0 in /usr/lib/python3.11/site-packages (from yfinance) (4.3.3) Requirement already satisfied: pytz>=2022.5 in /usr/lib/python3.11/site-packages (from yfinance) (2024.2) Requirement already satisfied: frozendict>=2.3.4 in /usr/lib/python3.11/site-packages (from yfinance) (2.4.4) Requirement already satisfied: peewee>=3.16.2 in /usr/lib/python3.11/site-packages (from yfinance) (3.17.6) Requirement already satisfied: beautifulsoup4>=4.11.1 /usr/lib/python3.11/site-packages (from yfinance) (4.12.3) Requirement already satisfied: soupsieve>1.2 in /usr/lib/python3.11/site-packages (from beautifulsoup4>=4.11.1->yfinance) (2.6) Requirement already satisfied: python-dateutil>=2.8.2 in /usr/lib/python3.11/site-packages (from pandas>=1.3.0->yfinance) (2.9.0.post0) Requirement already satisfied: tzdata>=2022.7 in /usr/lib/python3.11/site-packages (from pandas>=1.3.0->yfinance) (2024.1) Requirement already satisfied: charset-normalizer<4,>=2 in /usr/lib/python3.11/site-packages (from requests>=2.31->yfinance) (3.3.2) Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3.11/ site-packages (from requests>=2.31->yfinance) (3.10) Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/lib/python3.11/site-packages (from requests>=2.31->yfinance) (2.2.3) Requirement already satisfied: certifi>=2017.4.17 in /files/usr/lib/python3.11/site-packages (from requests>=2.31->yfinance) (2024.8.30) Requirement already satisfied: six>=1.5 in /usr/lib/python3.11/ site-packages (from python-dateutil>=2.8.2->pandas>=1.3.0->yfinance) (1.16.0) Downloading yfinance-0.2.54-py2.py3-none-any.whl (108 kB) Installing collected packages: yfinance Attempting uninstall: yfinance Found existing installation: yfinance 0.2.43 Uninstalling yfinance-0.2.43: Successfully uninstalled yfinance-0.2.43 Successfully installed yfinance-0.2.54
最新版インストール成功と出たところで、もう一度パッケージバージョンを確認します。
$ pip list -o Package Version Latest Type ------------------------------------ Flask 3.0.3 3.1.0 wheel Jinja2 3.1.4 3.1.5 wheel lxml 5.3.0 5.3.1 sdist numpy 1.26.5 2.2.3 sdist pandas 2.2.2 2.2.3 sdist pip 24.2 25.0.1 wheel $ pip show yfinance Name: yfinance Version: 0.2.54
最新ですね。これで冒頭のスクリプトを実行しますと、エラーは出ませんでした。ちなみに出力は以下の通り。
Dividends Stock Splits Date 1962-01-31 0.029762 0.00 1962-05-07 0.029762 0.00 1962-08-07 0.029762 0.00 1962-11-07 0.029762 0.00 1962-12-17 0.000000 1.05 ... ... ... 2023-11-16 1.510000 0.00 2024-02-15 1.630000 0.00 2024-05-16 1.630000 0.00 2024-08-19 1.630000 0.00 2024-11-18 1.630000 0.00 [227 rows x 2 columns] Value address1 6001 Bollinger Canyon Road city San Ramon state CA zip 94583-2324 country United States ... ... sourceInterval 15 exchangeDataDelayedBy 0 averageAnalystRating 2.0 - Buy displayName Chevron trailingPegRatio 3.5643 [175 rows x 1 columns]