簡體   English   中英

無法從“sklearn.utils.fixes”導入名稱“parse_version”

[英]cannot import name 'parse_version' from 'sklearn.utils.fixes'

我在使用 sklearn 時遇到了嚴重的問題。 特別是,在執行以下操作時:

from sklearn.linear_model import LinearRegression

我收到以下錯誤:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-8-a35af2a4e137> in <module>
----> 1 from sklearn.linear_model import LinearRegression

~/anaconda3/lib/python3.7/site-packages/sklearn/__init__.py in <module>
     78     from . import _distributor_init  # noqa: F401
     79     from . import __check_build  # noqa: F401
---> 80     from .base import clone
     81     from .utils._show_versions import show_versions
     82 

~/anaconda3/lib/python3.7/site-packages/sklearn/base.py in <module>
     19 from . import __version__
     20 from ._config import get_config
---> 21 from .utils import _IS_32BIT
     22 from .utils.validation import check_X_y
     23 from .utils.validation import check_array

~/anaconda3/lib/python3.7/site-packages/sklearn/utils/__init__.py in <module>
     21 
     22 from .murmurhash import murmurhash3_32
---> 23 from .class_weight import compute_class_weight, compute_sample_weight
     24 from . import _joblib
     25 from ..exceptions import DataConversionWarning

~/anaconda3/lib/python3.7/site-packages/sklearn/utils/class_weight.py in <module>
      5 import numpy as np
      6 
----> 7 from .validation import _deprecate_positional_args
      8 
      9 

~/anaconda3/lib/python3.7/site-packages/sklearn/utils/validation.py in <module>
     23 from contextlib import suppress
     24 
---> 25 from .fixes import _object_dtype_isnan, parse_version
     26 from .. import get_config as _get_config
     27 from ..exceptions import NonBLASDotWarning, PositiveSpectrumWarning

ImportError: cannot import name 'parse_version' from 'sklearn.utils.fixes' (/Users/federiconutarelli/anaconda3/lib/python3.7/site-packages/sklearn/utils/fixes.py)

我無法修復,因為在 fixes.py 中我可以看到

def _parse_version(version_string):
    version = []
    for x in version_string.split('.'):
        try:
            version.append(int(x))
        except ValueError:
            # x may be of the form dev-1ea1592
            version.append(x)
    return tuple(version)

在我看來和 parse_version 一樣。 為什么會出現此錯誤? 誰能幫幫我嗎?

謝謝你們,

費德里科

您可以通過創建新的 conda 環境來解決此問題。 有時,某些沖突會阻止軟件包正確運行。

對於我的情況,我卸載了scipyscikit-learn這兩個包,然后安裝。 然后效果很好。 conda conda installpip install都試了很多次,分不清哪種安裝方式更好。

在詳細的錯誤報告中,應該有一些與scipy相關的行。 所以我認為這是關於這兩個包之間不兼容的錯誤,因此一些 dll 不能正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM