Conda 强制 numpy 和 scipy 从 openblas 降级到非工作 mkl 版本
Conda forcing numpy and scipy to downgrade from openblas to non-working mkl version
最近每当我尝试通过 conda 安装某些东西时,我都会得到以下信息:
Fetching package metadata ...............
Solving package specifications: .
Package plan for installation in environment /Users/askates/anaconda3/envs/fastai:
The following packages will be DOWNGRADED:
blas: 1.1-openblas conda-forge --> 1.0-mkl
numpy: 1.14.5-py35_blas_openblashd3ea46f_201 conda-forge [blas_openblas] --> 1.14.3-py35h9bb19eb_2
scikit-learn: 0.19.2-py35_blas_openblas_200 conda-forge [blas_openblas] --> 0.19.1-py35h2b554eb_0
scipy: 1.1.0-py35_blas_openblashd3ea46f_201 conda-forge [blas_openblas] --> 1.1.0-py35hcaad992_0
如果我说是,然后尝试使用 numpy,我会收到以下错误:
$ python
Python 3.5.5 | packaged by conda-forge | (default, Jul 23 2018, 23:45:11)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> np.__version__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'numpy' has no attribute '__version__'
为什么要这样做?我一直在通过使用标志 --no-deps
来绕过它,但这是一个糟糕的解决方法。它允许升级回(工作的)openblas numpy,但如果我尝试安装其他东西,它会再次做同样的事情。
conda-forge 存储库使用 openblas BLAS 实现,库存 Anaconda 存储库使用英特尔的 MKL。看起来在从 conda-forge 安装您的软件包时,它需要其他依赖项才能切换到 openblas,但没有成功。有时我 运行 遇到这样的情况,因为 conda 出色的依赖关系管理做得不太好。通常我通过吹走环境并从头开始创建一个新环境来解决它。在这种情况下,我可能会先从 Anaconda 尝试这个命令,以确保正确安装了 openblas。
conda install nomkl numpy scipy scikit-learn numexpr
相关的 Anaconda MKL 文档:https://docs.continuum.io/mkl-optimizations/
最近每当我尝试通过 conda 安装某些东西时,我都会得到以下信息:
Fetching package metadata ...............
Solving package specifications: .
Package plan for installation in environment /Users/askates/anaconda3/envs/fastai:
The following packages will be DOWNGRADED:
blas: 1.1-openblas conda-forge --> 1.0-mkl
numpy: 1.14.5-py35_blas_openblashd3ea46f_201 conda-forge [blas_openblas] --> 1.14.3-py35h9bb19eb_2
scikit-learn: 0.19.2-py35_blas_openblas_200 conda-forge [blas_openblas] --> 0.19.1-py35h2b554eb_0
scipy: 1.1.0-py35_blas_openblashd3ea46f_201 conda-forge [blas_openblas] --> 1.1.0-py35hcaad992_0
如果我说是,然后尝试使用 numpy,我会收到以下错误:
$ python
Python 3.5.5 | packaged by conda-forge | (default, Jul 23 2018, 23:45:11)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> np.__version__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'numpy' has no attribute '__version__'
为什么要这样做?我一直在通过使用标志 --no-deps
来绕过它,但这是一个糟糕的解决方法。它允许升级回(工作的)openblas numpy,但如果我尝试安装其他东西,它会再次做同样的事情。
conda-forge 存储库使用 openblas BLAS 实现,库存 Anaconda 存储库使用英特尔的 MKL。看起来在从 conda-forge 安装您的软件包时,它需要其他依赖项才能切换到 openblas,但没有成功。有时我 运行 遇到这样的情况,因为 conda 出色的依赖关系管理做得不太好。通常我通过吹走环境并从头开始创建一个新环境来解决它。在这种情况下,我可能会先从 Anaconda 尝试这个命令,以确保正确安装了 openblas。
conda install nomkl numpy scipy scikit-learn numexpr
相关的 Anaconda MKL 文档:https://docs.continuum.io/mkl-optimizations/