GCPのデータストアにアクセスするコードを書いていまして、3日前までエラーなく動いていたのですが、2日前から急に後述のエラーがでるようになりました。
本日、pip uninstallしてpip installし直したところエラーは消えました。
このライブラリは先週にインストールしたもので、それ以降OSやPythonやライブラリのアップデートをした記憶はありません。

質問

  • なぜ急にエラーになるようになったのか
    特にアップデートなどしてないのですが、挙動がかわることなんてないと思ってます。なにか思い当たる原因があればアドバイスいただきたいです
  • なぜインストールし直したら直ったのか
    ライブラリの中がなにか変になってたということなのでしょうか。(まぁ結論はそうで、結局は上の質問になると思うのですが)

データストアにアクセスするコード

from google.cloud import datastore
client = datastore.Client(project='my_project_id')
query = client.query(kind='Sample')
query.add_filter('user_id', '=', 1)
query.fetch(limit=5)

エラー

AttributeError                            Traceback (most recent call last)
<ipython-input-16-a55ac532af71> in <module>()
----> 7 query.fetch(limit=5):

/anaconda3/lib/python3.6/site-packages/google/api_core/page_iterator.py in _items_iter(self)
    197     def _items_iter(self):
    198         """Iterator for each item returned."""
--> 199         for page in self._page_iter(increment=False):
    200             for item in page:
    201                 self.num_results += 1

/anaconda3/lib/python3.6/site-packages/google/api_core/page_iterator.py in _page_iter(self, increment)
    228             Page: each page of items from the API.
    229         """
--> 230         page = self._next_page()
    231         while page is not None:
    232             self.page_number += 1

/anaconda3/lib/python3.6/site-packages/google/cloud/datastore/query.py in _next_page(self)
    499         )
    500         entity_pbs = self._process_query_results(response_pb)
--> 501         return page_iterator.Page(self, entity_pbs, self._item_to_value)
    502 
    503 

AttributeError: 'Iterator' object has no attribute '_item_to_value'

ぐぐったところ、、、

イシューは見つかりましたが、再現しないということで修正されずにクローズされてました。
https://github.com/GoogleCloudPlatform/google-cloud-python/issues/5169