为了克服pickle的局限性,我转而使用multiprocessing_on_dill。
这开始生成一个错误:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\ProgramData\Anaconda3\lib\multiprocessing\spawn.py", line 107, in spawn_main
exitcode = _main(fd)
File "C:\ProgramData\Anaconda3\lib\multiprocessing\spawn.py", line 117, in _main
self = reduction.pickle.load(from_parent)
ModuleNotFoundError: No module named '__builtin__'有没有办法克服它?
令人惊讶的是,它仍然引用C:\ProgramData\Anaconda3\lib\multiprocessing\。
而multiprocessing_on_dill有自己的文件夹C:\ProgramData\Anaconda3\Lib\site-packages\multiprocessing_on_dill,其中包含相同的文件集。
发布于 2019-05-01 11:51:47
我建议你使用multiprocess而不是multiprocessing_on_dill...前者得到了更好的支持,并由dill作者(我)维护。看起来multiprocess_on_dill正在寻找__builtin__,这是Python2中的内置函数所在的地方……在Python3中,它们在builtins中
>$ python
Python 2.7.16 (default, Apr 1 2019, 14:50:56)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import __builtin__
>>>
>$ python
Python 3.6.8 (default, Dec 30 2018, 13:04:41)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import __builtin__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named '__builtin__'
>>> import builtins
>>>因此,我认为要么是您正在运行python3,并且使用的是python2版本的代码--要么是模块不完全支持python3。
https://stackoverflow.com/questions/55929267
复制相似问题