ImportError:无法确定瓶颈的版本

Posted

技术标签:

【中文标题】ImportError:无法确定瓶颈的版本【英文标题】:ImportError: Can't determine version for bottleneck 【发布时间】:2020-07-15 05:49:37 【问题描述】:

几个月来,我一直在 Anaconda 中使用 jupyter notebook 进行研究工作。对于数据预处理,我每次都导入熊猫。但是几天前我突然开始遇到 Importerror,这是我以前从未遇到过的。

import pandas as pd
from pandas import DataFrame

我得到的错误如下,

ImportError                               Traceback (most recent call last)
<ipython-input-5-7dd3504c366f> in <module>
----> 1 import pandas as pd

C:\ProgramData\Anaconda3\lib\site-packages\pandas\__init__.py in <module>
     53 import pandas.core.config_init
     54 
---> 55 from pandas.core.api import (
     56     # dtype
     57     Int8Dtype,

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\api.py in <module>
     13 
     14 from pandas.core.algorithms import factorize, unique, value_counts
---> 15 from pandas.core.arrays import Categorical
     16 from pandas.core.arrays.boolean import BooleanDtype
     17 from pandas.core.arrays.integer import (

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\arrays\__init__.py in <module>
      5     try_cast_to_ea,
      6 )
----> 7 from pandas.core.arrays.boolean import BooleanArray
      8 from pandas.core.arrays.categorical import Categorical
      9 from pandas.core.arrays.datetimes import DatetimeArray

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\arrays\boolean.py in <module>
     26 from pandas.core.dtypes.missing import isna, notna
     27 
---> 28 from pandas.core import nanops, ops
     29 from pandas.core.indexers import check_array_indexer
     30 

C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\nanops.py in <module>
     33 from pandas.core.dtypes.missing import isna, na_value_for_dtype, notna
     34 
---> 35 bn = import_optional_dependency("bottleneck", raise_on_missing=False, on_version="warn")
     36 _BOTTLENECK_INSTALLED = bn is not None
     37 _USE_BOTTLENECK = False

C:\ProgramData\Anaconda3\lib\site-packages\pandas\compat\_optional.py in import_optional_dependency(name, extra, raise_on_missing, on_version)
     96     minimum_version = VERSIONS.get(name)
     97     if minimum_version:
---> 98         version = _get_version(module)
     99         if distutils.version.LooseVersion(version) < minimum_version:
    100             assert on_version in "warn", "raise", "ignore"

C:\ProgramData\Anaconda3\lib\site-packages\pandas\compat\_optional.py in _get_version(module)
     41 
     42     if version is None:
---> 43         raise ImportError(f"Can't determine version for module.__name__")
     44     return version
     45 

ImportError: Can't determine version for bottleneck

我从来没有为我的工作引入瓶颈。还有其他用户在同一设备上工作,但我不确定其他用户的任何更新或更改是否会导致此错误。无论如何,我怎样才能摆脱这个错误?

编辑: 当我运行conda list bottleneck 时,它会打开一个名为 conda-script.py 的文本文件 跟随

import sys
# Before any more imports, leave cwd out of sys.path for internal 'conda shell.*' commands.
# see https://github.com/conda/conda/issues/6549
if len(sys.argv) > 1 and sys.argv[1].startswith('shell.') and sys.path and sys.path[0] == '':
    # The standard first entry in sys.path is an empty string,
    # and os.path.abspath('') expands to os.getcwd().
    del sys.path[0]

if __name__ == '__main__':
    from conda.cli import main
    sys.exit(main())

【问题讨论】:

您可以通过编辑您的帖子提供conda list bottleneck的信息吗? 我已更新帖子以回复您的评论。而且这件事也是新的,以前没有发生过。 【参考方案1】:

我遇到了这个问题。这对我有用。

    尝试更新熊猫

    conda 更新熊猫

    移除和安装瓶颈

    conda 消除瓶颈

    conda 安装瓶颈

【讨论】:

【参考方案2】:

我在执行conda update pandas 之后遇到了这个问题,之后conda list bottleneck 什么也没显示,所以我只是执行了conda install bottleneck

(声誉不足以简单地支持 nav 的回答。)

【讨论】:

以上是关于ImportError:无法确定瓶颈的版本的主要内容,如果未能解决你的问题,请参考以下文章

ImportError:无法导入名称 QtGui

s3fs 和 fsspec 版本的工作组合是啥? ImportError:无法从“fsspec.asyn”导入名称“maybe_sync”

具有依赖关系的问题— ImportError:无法导入名称getfullargspec

SAM命令失败:ImportError:无法导入名称AliasedEventEmitter

ImportError:无法导入名称 cross_validation

ImportError:无法导入名称secure_dumps