cx_freeze python 3.6 sklearn文件中的TypeError

时间:2018-04-02 15:39:02

标签: python-3.x scikit-learn pyqt4 python-3.6 cx-freeze

我正在使用PyQt4创建桌面应用程序并尝试将其设为exe文件。我用cx_freeze构建它之后打开了我的应用程序但是我的提交按钮(将数据发送到另一个模块)无效。当我点击提交时,我得到了一个"没有找到模块"错误。有人说它在我的sklearn / externals / joblib / pool.py文件中找不到multiprocessing.pool。

我进入了该文件,并将from multprocessing.pool import Pool更改为from multprocessing import Pool,它消除了该错误,但在同一文件中又给了我一个错误。

现在我得到TypeError: method expected 2 arguments, got 3 引用该文件中的class PicklingPool(Pool)

我的应用程序只能正常工作.py文件,所以我不明白为什么用cx_freeze构建会给我一个TypeError。

这是sklearn / externals / joblib / pool.py中的init:

class PicklingPool(Pool):

    def __init__(self, processes=None, forward_reducers=None,
                 backward_reducers=None, **kwargs):
        if forward_reducers is None:
            forward_reducers = dict()
        if backward_reducers is None:
            backward_reducers = dict()
        self._forward_reducers = forward_reducers
        self._backward_reducers = backward_reducers
        poolargs = dict(processes=processes)
        poolargs.update(kwargs)
        super(PicklingPool, self).__init__(**poolargs)

这是multiprocessing / pool.py

中的init
class Pool(object):

    def __init__(self, processes=None, initializer=None, initargs=(),
                 maxtasksperchild=None, context=None):
        self._ctx = context or get_context()
        self._setup_queues()
        self._taskqueue = queue.Queue()
        self._cache = {}
        self._state = RUN
        self._maxtasksperchild = maxtasksperchild
        self._initializer = initializer
        self._initargs = initargs
        ...

有人请说明这个错误。

0 个答案:

没有答案