ImportError: Can't determine version for bottleneck

Viewed 8383

I have been using jupyter notebook in Anaconda for my research work for few months. for Data preprocessing I am importing pandas every time. But all of a sudden a couple days back I have started getting Importerror, which I never faced before.

import pandas as pd
from pandas import DataFrame

The error I am getting is as follows,

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

I have never imported bottleneck for my work. And there are other users who work on this same device, but I am not sure if any update or change from other users would cause this error or not. In any case how can I get rid of this error?

Edit: when I run conda list bottleneck it opens a text file named conda-script.py with following

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())
2 Answers

I encoutered this issue. Here's what worked for me.

  1. Try to update pandas

    conda update pandas

  2. Remove and install bottleneck

    conda remove bottleneck

    conda install bottleneck

I encountered this after doing a conda update pandas after which conda list bottleneck showed nothing so I simply did conda install bottleneck.

(Not enough reptutation to simply upvote nav's answer.)

Related