8 votes

ImportError : Impossible de déterminer la version du goulot d'étranglement

J'utilise jupyter notebook dans Anaconda pour mes travaux de recherche depuis quelques mois. Pour le prétraitement des données, j'importe pandas à chaque fois. Mais tout à coup, il y a quelques jours, j'ai commencé à recevoir des erreurs d'importation, ce que je n'avais jamais fait auparavant.

import pandas as pd
from pandas import DataFrame

L'erreur que je reçois est la suivante,

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

Je n'ai jamais importé de goulot d'étranglement pour mon travail. Et il y a d'autres utilisateurs qui travaillent sur ce même appareil, mais je ne suis pas sûr qu'une mise à jour ou un changement de la part des autres utilisateurs causerait cette erreur ou non. Dans tous les cas, comment puis-je me débarrasser de cette erreur ?

Edita: quand je cours conda list bottleneck il ouvre un fichier texte nommé conda-script.py avec le texte suivant

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

11voto

nav Points 563

J'ai rencontré ce problème. Voici ce qui a fonctionné pour moi.

  1. Essayer de mettre à jour pandas

    mise à jour de conda pandas

  2. Suppression et installation du goulot d'étranglement

    conda remove bottleneck

    goulot d'étranglement de l'installation de conda

7voto

Nick Ackerley Points 11

J'ai rencontré ce problème après avoir fait une conda update pandas après quoi conda list bottleneck n'a rien montré, alors j'ai simplement fait conda install bottleneck .

(Pas assez de reptation pour simplement upvoter la réponse de Nav).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X