pandas - Modin 与 dask 冲突
问题描述
我正在尝试 modin,但不断收到错误消息:
import modin.pandas as md
import pandas as pd
PATH = 'file.csv'
%%time
df = pd.read_csv(PATH)
%%time
mdf = md.read_csv(PATH)
错误:
UserWarning:Dask 执行环境尚未初始化。Initializing... 要删除此警告,请在执行数据帧操作之前运行以下 python 代码:
from distributed import Client
client = Client()
任务异常永远不会被检索到:<Task finished name='Task-8' coro=<_wrap_awaitable() done,定义在 C:\Users\Oleg\AppData\Local\Programs\Python\Python39\lib\asyncio\tasks。 py:683> exception=ImportError("cannot import name 'Popen' from partial initialized module 'multiprocessing.popen_spawn_win32' (很可能是由于循环导入) (C:\Users\Oleg\AppData\Local\Programs\Python\Python39 \lib\multiprocessing\popen_spawn_win32.py)")> Traceback(最近一次调用最后):文件“C:\Users\Oleg\AppData\Local\Programs\Python\Python39\lib\asyncio\tasks.py”,第 690 行, 在_wrap_awaitable中返回(从 awaitable.await 中产生)()) 文件“C:\Users\Oleg\AppData\Local\Programs\Python\Python39\lib\site-packages\distributed\core.py”,第 290 行,在_await self.start() 文件“C: \Users\Oleg\AppData\Local\Programs\Python\Python39\lib\site-packages\distributed\nanny.py”,第 295 行,开始响应 = await self.instantiate() 文件“C:\Users\Oleg\ AppData\Local\Programs\Python\Python39\lib\site-packages\distributed\nanny.py”,第 378 行,在实例化结果中 = await self.process.start() 文件“C:\Users\Oleg\AppData\Local \Programs\Python\Python39\lib\site-packages\distributed\nanny.py”,第 575 行,在开始等待 self.process.start() 文件“C:\Users\Oleg\AppData\Local\Programs\Python\ Python39\lib\site-packages\distributed\process.py”,第 34 行,在 _call_and_set_future res = func(*args, **kwargs) 文件“C:\Users\Oleg\AppData\Local\Programs\Python\Python39\lib\site-packages\distributed\process.py”,第 202 行,在 _start process.start() 文件“C:\Users\Oleg\AppData\Local \Programs\Python\Python39\lib\multiprocessing\process.py",第 121 行,在 start self._popen = self._Popen(self) File "C:\Users\Oleg\AppData\Local\Programs\Python\Python39\ lib\multiprocessing\context.py”,第 224 行,在 _Popen 返回 _default_context.get_context().Process._Popen(process_obj) 文件“C:\Users\Oleg\AppData\Local\Programs\Python\Python39\lib\multiprocessing\ context.py”,第 326 行,在 _Popen from .popen_spawn_win32 import Popen ImportError: cannot import name 'Popen' from partial initialized module 'multiprocessing.popen_spawn_win32'(很可能是由于循环导入)(C:\Users\Oleg\AppData\Local\Programs\Python\Python39\lib\multiprocessing\popen_spawn_win32.py) '''
如果有帮助的话,我有一个 0.1.20 版本。SO上有人建议尝试错误消息中的内容-导入dask.distributed并启动客户端,但没有帮助。
任何帮助深表感谢。
附言。几周前我想尝试 modin,但安装并不简单,有很多错误,主要是 ray 和 dask 导入。我设法让 dask 以某种方式工作,而不是 modin。并开始学习它的api。现在我决定再试一次,因为我认为 dask 工作正常,但是不,仍然有一些导入错误,什么都没有。
解决方案
似乎 modin 正在自动创建一个 dask 本地进程集群。不幸的是,它们中的每一个都在导入您的脚本,以便他们可以理解定义的变量——并且每个都试图然后启动一个新的 dask 本地集群。
您应该尝试将代码放入函数中,并从受保护的块中调用该函数
if __name__ == "__main__":
推荐阅读
- android - 如何在未来数据上重新加载屏幕
- javascript - 大型解决方案的全局原型 (JavaScript/Node)
- sql - 将值添加到已存在的行的新列 - 大表
- javascript - 错误:ER_WARN_DATA_OUT_OF_RANGE:第 1 行列“vehicleModel”的值超出范围
- android - 禁用在特定片段中滑动
- php - 如何在父母的索引页面中显示孩子表中的孩子?
- alpine.js - Alpine JS $dispatch-ed 属性
- python - 无法下载文件,PermissionError: [Errno 13] Permission denied: 'C:\\Users\\***\\Desktop' with telepot
- python - 如何将 .csv 文件列更改为兼容的内容?
- r - 调色板颜色ggplot