如何在Anaconda中创建一个带有NumPy nomkl的环境?

3
我使用anaconda2 python2.7编写了一个脚本,并使用了wxpython、matplotlib、skimage和numpy库。使用pyinstaller生成可执行文件后,总大小接近700 MB,感觉太大了。 有人说是因为numpy使用了MKL,而我在文件夹中看到它非常大,约为400 MB。因此,我想知道如何创建一个使用numpy nomkl的环境? 或者如果有人有减小pyinstaller生成可执行文件大小的经验,请告诉我。 顺便说一下,我尝试了py2exe。它创建了一个更小的文件夹,但某种原因exe文件无法工作。
谢谢!

这个回答解决了您的问题吗?在Windows上安装带有OpenBLAS的numpy的教程 - Thomas
1个回答

5

我认为规范的方法应该是:

conda create -n new_env nomkl numpy scipy ...

但是根据你的操作系统,可能没有nomkl发行版可用(Windows?)。
来自这里的示例引用:
在Windows上,我们一直在链接MKL。然而,随着Anaconda 2.5的发布,我们将MKL运行时分离成了自己的conda包,以便在所有平台上统一处理。
更多相关讨论可能会在这里编辑:官方博客指出:nomkl包在Windows上不可用(2/2016) 编辑2:现在连Gohlke也只提供基于MKL的Windows二进制文件。

编辑3: 如果您只需要不带MKL的numpy分发,可以使用这些官方wheels,它们链接到OpenBLAS而不是MKL。

通常,您可以创建一个新的环境:

conda create -n wheel_based python
activate wheel
pip install numpy-1.13.3-cp36-none-win_amd64.whl  # or whatever the file is named

还有两个问题需要解决:
  • 哪些anaconda-builds适用于非MKL numpy
  • anaconda会尝试覆盖这个numpy安装吗(可能是因为第一个问题)?
这里有一些讨论
如果您能够安装剩余的依赖项,建议不要在这种非常特殊的情况下使用anaconda。Scipy(通常最麻烦的部分)现在有Windows版本(1.0 beta)。

谢谢您的快速回复。是的,我正在使用 Windows 操作系统。从您提供的讨论中可以看出,在 Windows 系统上使用 nomkl numpy 仍未得到明确的解决方案。我正在使用 Anaconda 4.3.27 版本。 - Forrest
1
我认为conda forge版本已经链接了OpenBLAS:conda create -n new_env -c conda-forge numpy - Daniel
@Daniel 你确定吗(希望是这样)?这个讨论有点含糊不清。 - sascha
@sascha 我真的不确定 :) 我只知道Linux和OSX带有OpenBLAS。无论Windows有什么,它很可能不是MKL,这就是我能猜到的范围。 - Daniel
嗯...我读我的链接是:在Windows上很可能只有MKL。 - sascha
我刚按照Daniel的建议,在Windows上安装了链接到OpenBlas的numpy - 它可以正常工作 :) - balletpiraat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接