

**・実行したい内容**  
jupyternotebook上でtresuredata上からデータを取得したいのですが、TypeError: **init** () got an
unexpected keyword argument 'encoding'が出てしまって困っています。  
特にencodingを明示的に指定しているわけでもないのにエラーになってしまっています。

**・記述したコード**

[code]

    #必要ライブラリをimport
        import os
        import sys
        import gc
        import pandas as pd
        import numpy as np
        import scipy.stats as st
        from scipy.stats import norm
        from scipy import stats
        from sklearn.preprocessing import StandardScaler  
        import matplotlib.pyplot as plt
        import seaborn as sns
        import math
        import datarobot as dr
        import pandas_td as td
        import logging
        import argparse
        import msgpack_numpy
     #tresuredataからデータを取得。apikeyとendpointを設定
        con = td.connect(apikey="{...}", endpoint='...')
     #tresuredataにapikeyを渡す
        con = td.connect(apikey=os.environ['TD_API'], endpoint='...')
     #実行
        con
     #dbとtype(presto or hive)の設定
        engine = con.query_engine(database='...', type='presto')
     #SQLを読み込み
        sql = 
        '''
        select *
        from db.table
        where time = ...
        ;
        '''
    #読み込んだSQLを実行
        df= td.read_td_query(sql,engine)
    
[/code]

**・試したこと**  
mspackのアップデート  
参考サイト  
<https://github.com/explosion/spaCy/issues/2810#issuecomment-425414118>

以下のコードを実行

[code]

    def to_bytes(getters, exclude):
        serialized = OrderedDict()
        for key, getter in getters.items():
            if key not in exclude:
                serialized[key] = getter()
    #    return msgpack.dumps(serialized, use_bin_type=True, encoding='utf8')
        return msgpack.dumps(serialized, use_bin_type=True)
    
[/code]

参考サイト  
<https://github.com/explosion/spaCy/issues/2868>

**・補足情報**  
pythonのバージョンは3.8.5です。  
anaconda3の環境で実施しており、直前に再インストールしております。  
再インストールの前には発生していなかったエラーです。  
※同じコードでエラーなく読み込みができました。

何卒よろしくお願い致します。

**・追記**

ご指摘を頂いたのでエラーメッセージを追記致します  
ご指摘頂きありがとうございます。

[code]

    ---------------------------------------------------------------------------
    TypeError                                 Traceback (most recent call last)
    <ipython-input-11-f4d0c907ab18> in <module>
          1 #読み込んだSQLを実行
    ----> 2 df= td.read_td_query(sql,engine)
    
    ~\Anaconda3\lib\site-packages\pandas_td\td.py in read_td_query(query, engine, index_col, parse_dates, distributed_join, params)
        528     # execute
        529     r = engine.execute(header + query, **params)
    --> 530     return r.to_dataframe(index_col=index_col, parse_dates=parse_dates)
        531 
        532 def read_td_job(job_id, engine, index_col=None, parse_dates=None):
    
    ~\Anaconda3\lib\site-packages\pandas_td\td.py in to_dataframe(self, index_col, parse_dates)
        283     def to_dataframe(self, index_col=None, parse_dates=None):
        284         columns = [c[0] for c in self.description]
    --> 285         frame = pd.DataFrame(iter(self), columns=columns)
        286         if parse_dates is not None:
        287             frame = self._parse_dates(frame, parse_dates)
    
    ~\Anaconda3\lib\site-packages\pandas\core\frame.py in __init__(self, data, index, columns, dtype, copy)
        561         elif isinstance(data, abc.Iterable) and not isinstance(data, (str, bytes)):
        562             if not isinstance(data, (abc.Sequence, ExtensionArray)):
    --> 563                 data = list(data)
        564             if len(data) > 0:
        565                 if is_dataclass(data[0]):
    
    ~\Anaconda3\lib\site-packages\pandas_td\td.py in __iter__(self)
        267 
        268     def __iter__(self):
    --> 269         for record in msgpack.Unpacker(self, encoding='utf-8'):
        270             yield record
        271 
    msgpack/_unpacker.pyx in msgpack._cmsgpack.Unpacker.__init__()
    TypeError: __init__() got an unexpected keyword argument 'encoding'
    
[/code]


CC BY-SA 4.0
2021-02-05T08:33:00.940
73814
2021-02-05T10:07:10.557
2021-02-05T10:07:10.557
3068
43842
question
python jupyter-notebook anaconda3
PythonでのTypeError(TypeError: __init__() got an unexpected keyword argument 'encoding')が出てしまいます