Python ImportError:导入sklearn.Mixed时无法导入名称选择

Python ImportError:导入sklearn.Mixed时无法导入名称选择,python,scikit-learn,python-import,Python,Scikit Learn,Python Import,我正在使用scikit学习0.15.0。当我尝试导入sklearn.mixed时,我得到 ImportError:无法导入名称选择 有什么想法吗 =================================================================== In [1]: **from sklearn import mixture** ImportError Traceback (most recent cal

我正在使用scikit学习0.15.0。当我尝试导入sklearn.mixed时,我得到 ImportError:无法导入名称选择

有什么想法吗

===================================================================

In [1]: **from sklearn import mixture**

ImportError                               Traceback (most recent call last)
<ipython-input-1-05bc76cab98d> in <module>()
----> 1 from sklearn import mixture

/home/f/anaconda/lib/python2.7/site-packages/sklearn/mixture/__init__.py in <module>()
      3 """
      4
----> 5 from .gmm import sample_gaussian, log_multivariate_normal_density
      6 from .gmm import GMM, distribute_covar_matrix_to_match_covariance_type
      7 from .gmm import _validate_covars

/home/f/anaconda/lib/python2.7/site-packages/sklearn/mixture/gmm.py in <module>()
     16 from ..utils import check_random_state, deprecated
     17 from ..utils.extmath import logsumexp, pinvh
---> 18 from .. import cluster
     19
     20 from sklearn.externals.six.moves import zip

/home/f/anaconda/lib/python2.7/site-packages/sklearn/cluster/__init__.py in <module>()
      4 """
      5
----> 6 from .spectral import spectral_clustering, SpectralClustering
      7 from .mean_shift_ import mean_shift, MeanShift, estimate_bandwidth, \
      8     get_bin_seeds

/home/f/anaconda/lib/python2.7/site-packages/sklearn/cluster/spectral.py in <module>()
     16 from ..neighbors import kneighbors_graph
     17 from ..manifold import spectral_embedding
---> 18 from .k_means_ import k_means
     19
     20

/home/f/anaconda/lib/python2.7/site-packages/sklearn/cluster/k_means_.py in <module>()
     28 from ..utils import as_float_array
     29 from ..utils import gen_batches
---> 30 from ..utils.random import choice
     31 from ..externals.joblib import Parallel
     32 from ..externals.joblib import delayed

ImportError: cannot import name choice

当我尝试将KMeans导入为:from sklearn.cluster import KMeans时,我遇到了相同的错误

错误>导入错误:无法导入名称选择

我在这里找到了答案:

因为几天前我升级到了Scikit版本0.15,所以旧版本的random.so出现在/usr/local/lib/python2.7/dist-packages/sklearn/utils中

我手动删除了它,现在我不再得到错误了


希望这有帮助。

如前所述,这可能与用python实现的旧文件有关,而不是与库有关?在一个新的软件包中,您可能使用pip install-U packagename进行了更新。在我的例子中,pip install-U scikit了解到,在手动删除内容之前,首先尝试卸载该软件包并再次安装它可能是值得的。。。在我的情况下工作 卸载 在我的例子中,在Anaconda命令提示符下运行它:

   pip uninstall scikit-learn
然后:

添加了依赖项以防万一 那就确定一下

   pip install scikit-learn
应该说它已经安装好了

from sklearn.mixture import GaussianMixture
使用此选项将使使用.gmm更加具体

用于:


没有足够的信息。您是如何安装的,是升级的,您是否尝试卸载并重新安装?我正在使用本地安装在我的主目录下的anaconda软件包,因为我必须解决没有管理员权限的问题。机器正在运行Red Hat 4.4.5-6。安装anaconda后,我将scikit learn升级到了0.15。您是否尝试卸载并重新安装?random.choice在0.15版本之前不存在,因此可能存在升级问题。感谢skv,这确实是个问题。因为我正在使用安装在我的home目录中的anaconda,所以我的位置是:~/anaconda/lib/python2.7/site-packages/sklearn/utils/random.so
from sklearn.mixture import GaussianMixture
from sklearn.cluster import KMeans
     16 from ..neighbors import kneighbors_graph
     17 from ..manifold import spectral_embedding
---> 18 from .k_means_ import k_means