![](/img/trans.png)
[英]ImportError: No module named pip.log -- in installation using pip
[英]Default pip installation of Dask gives "ImportError: No module named toolz"
我使用 pip 安装了 Dask ,如下所示:
pip install dask
当我尝试import dask.dataframe as dd
时,我收到以下错误消息:
>>> import dask.dataframe as dd
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/path/to/venv/lib/python2.7/site-packages/dask/__init__.py", line 5, in <module>
from .async import get_sync as get
File "/path/to/venv/lib/python2.7/site-packages/dask/async.py", line 120, in <module>
from toolz import identity
ImportError: No module named toolz
No module named toolz
我注意到文档指出
pip install dask
:只安装 dask,它只依赖于标准库。 如果您只需要任务调度程序,这是合适的。
所以我很困惑为什么这不起作用。
为了使用 Dask 的并行化数据帧(构建在 Pandas 之上),您必须告诉 pip 安装一些“额外”( 参考),如Dask 安装文档中所述:
pip install "dask[dataframe]"
或者你可以这样做
pip install "dask[complete]"
得到一整套技巧。 注意:shell 中可能需要也可能不需要双引号。
Dask 文档中提到了(或曾经)对此的理由:
我们这样做是为了让轻量级核心 dask 调度程序的用户不需要下载集合(numpy、pandas 等)的更奇特的依赖项。
正如Obinna 的回答中所述,您可能希望在 virtualenv 中执行此操作,或者使用pip install --user
将库放在您的主目录中,例如,如果您没有主机操作系统的管理员权限。
在 Dask 0.13.0 及以下版本中,需要在dask/async.py
使用toolz的identity
功能。 有
一个
与 GitHub问题 #1849相关
的打开
关闭拉取请求来删除此依赖项。
同时,
如果由于某种原因,您坚持使用旧版本的 dask,您可以通过简单地执行pip install toolz
来解决该特定问题。
但这不会(完全)解决您import dask.dataframe as dd
的问题。 因为您仍然会收到此错误:
>>> import dask.dataframe as dd
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/data/staff_agbio/PhyloWeb/data/dask-test/venv/local/lib/python2.7/site-packages/dask/dataframe/__init__.py", line 3, in <module>
from .core import (DataFrame, Series, Index, _Frame, map_partitions,
File "/data/staff_agbio/PhyloWeb/data/dask-test/venv/local/lib/python2.7/site-packages/dask/dataframe/core.py", line 12, in <module>
import pandas as pd
ImportError: No module named pandas
或者,如果您已经安装了 pandas,您将收到ImportError: No module named cloudpickle
。 因此,如果您处于这种情况, pip install "dask[dataframe]"
似乎是要走的路。
我有同样的问题,这就是为我解决的问题。
pip install "dask[complete]"
:这将安装所有内容。 你可能希望只安装一个给定的组件,比如pip install "dask[dataframe]"
,然后使用pip install "dask[dataframe]"
底线是我必须在我的虚拟环境中; 这将仅为此环境安装 dask。
就我而言,在 Windows 机器上使用 anaconda,以下是解决此问题的步骤:
使用以下命令。
pip install "dask[dataframe]"
requeriments.txt 工作:
awscli==1.16.69
botocore=1.13.0
boto3==1.9.79
numpy==1.16.2
dask[complete]
你可以检查下面的ss:
您可以像这样解决这种情况:
为从要求中选择的 dask 版本检查所需的 python 版本。
从 pypi dask 页面的发布历史页面中找到适合您的 python 版本的 dask package。
Go 回到 colab 并完全删除 dask !pip uninstall dask
安装刚才找到的dask版本例子:.pip install dask==2022.2.0
您的 dask 版本应该与您的分布式版本相同。 为此,请从 pypi 中找到与您的 dask 版本相对应的分布式版本
从 colab 分发的卸载 !pip 分发的卸载
安装适当的分布式版本,例如:.pip install Distributed==2022.2.0
安装自动sklearn pip 安装自动sklearn
注意:必须为每个 colab notebook 安装 auto-sklearn,由于 colab 会在 12 小时后删除这些更改,因此必须从头开始安装。
脚注:你可以纠正我的错误和遗漏。 我希望问题已为您解决,因为它已为我解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.