首页 > 解决方案 > 尝试导入“从 cdqa.pipeline.cdqa_sklearn import QAPipeline”时如何修复“TypeError:需要整数(获取类型字节)”错误

问题描述

我正在使用python3.6,它帮助我之前导入了这个包,但现在它不工作了。如 ~cdQA~ 包中所述,我安装了所有必要的依赖项。

我不确定我是否错过了 cdQA 安装中的一个步骤,比如设置一些环境变量,但我找不到任何进一步的详细说明。

TypeError                                 Traceback (most recent call last)
    <ipython-input-2-349c08f077b9> in <module>
          1 from cdqa.utils.filters import filter_paragraphs
          2 from cdqa.utils.download import download_model, download_bnpp_data
    ----> 3 from cdqa.pipeline.cdqa_sklearn import QAPipeline

~/code/cdQA/cdqa/pipeline/__init__.py in <module>
----> 1 from .cdqa_sklearn import QAPipeline
      2 
      3 __all__ = ["QAPipeline"]

~/code/cdQA/cdqa/pipeline/cdqa_sklearn.py in <module>
----> 1 import joblib
      2 import warnings
      3 
      4 import pandas as pd
      5 import numpy as np

~/.local/lib/python3.8/site-packages/joblib/__init__.py in <module>
    117 from .numpy_pickle import load
    118 from .compressor import register_compressor
--> 119 from .parallel import Parallel
    120 from .parallel import delayed
    121 from .parallel import cpu_count

~/.local/lib/python3.8/site-packages/joblib/parallel.py in <module>
     26 from .my_exceptions import TransportableException
     27 from .disk import memstr_to_bytes
---> 28 from ._parallel_backends import (FallbackToBackend, MultiprocessingBackend,
     29                                  ThreadingBackend, SequentialBackend,
     30                                  LokyBackend)

~/.local/lib/python3.8/site-packages/joblib/_parallel_backends.py in <module>
     20     from .pool import MemmappingPool
     21     from multiprocessing.pool import ThreadPool
---> 22     from .executor import get_memmapping_executor
     23 
     24     # Compat between concurrent.futures and multiprocessing TimeoutError

~/.local/lib/python3.8/site-packages/joblib/executor.py in <module>
     12 from .disk import delete_folder
     13 from ._memmapping_reducer import get_memmapping_reducers
---> 14 from .externals.loky.reusable_executor import get_reusable_executor
     15 
     16 

~/.local/lib/python3.8/site-packages/joblib/externals/loky/__init__.py in <module>
     10 
     11 from .backend.context import cpu_count
---> 12 from .backend.reduction import set_loky_pickler
     13 from .reusable_executor import get_reusable_executor
     14 from .cloudpickle_wrapper import wrap_non_picklable_objects

~/.local/lib/python3.8/site-packages/joblib/externals/loky/backend/reduction.py in <module>
    123 # global variable to change the pickler behavior
    124 try:
--> 125     from joblib.externals import cloudpickle  # noqa: F401
    126     DEFAULT_ENV = "cloudpickle"
    127 except ImportError:

~/.local/lib/python3.8/site-packages/joblib/externals/cloudpickle/__init__.py in <module>
      1 from __future__ import absolute_import
      2 
----> 3 from .cloudpickle import *
      4 
      5 __version__ = '0.8.0'

~/.local/lib/python3.8/site-packages/joblib/externals/cloudpickle/cloudpickle.py in <module>
    150 
    151 
--> 152 _cell_set_template_code = _make_cell_set_template_code()
    153 
    154 

~/.local/lib/python3.8/site-packages/joblib/externals/cloudpickle/cloudpickle.py in _make_cell_set_template_code()
    131         )
    132     else:
--> 133         return types.CodeType(
    134             co.co_argcount,
    135             co.co_kwonlyargcount,

TypeError: an integer is required (got type bytes)

标签: joblib

解决方案


推荐阅读