how to create an environment in anaconda with numpy nomkl?

岁酱吖の 提交于 2019-12-20 03:33:12

问题


I wrote a script using andaconda2 python2.7, and wxpython, matplotlib, skimage, numpy. After using pyinstaller to generate an executable files. the total size is almost 700 mb. it feels too large. Someone said because numpy uses MKL which is very large ~ 400 mb as I saw in folder. so I wonder how to create an environment using numpy nomkl? Or if anyone has experience to reduce the size of executable files using pyinstaller, please let me know. BTW, I tried py2exe. it creates a much smaller folder, but somehow the exe doesn't work.

Thanks!


回答1:


I think the canonical way would be:

conda create -n new_env nomkl numpy scipy ...

But depending on your OS, it might be possible that there is no nomkl distribution available (windows?).

Example-quote from here:

On Windows, we have always been linking against MKL. However, with the Anaconda 2.5 release we separated the MKL runtime into its own conda package, in order to things uniformly on all platforms.

Some more relevant discussion might be this

Edit: official blog-post pointing out: the nomkl package is not available on Windows (2/2016)

Edit 2: And even Gohlke nowadays only provide MKL-based windows-binaries.

Edit 3: So if all you need is a numpy-distribution without MKL, you can use these official wheels which are linked against OpenBLAS instead of MKL.

In general you can create a new env:

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

There are two problems still:

  • which anaconda-builds will work with non-MKL numpy
  • will anaconda (probably because of point 1) try to overwrite this numpy-install?

There is some discussion here.

It might be advisable to not use anaconda for this very specific use-case if you are able to install your remaining dependencies. Scipy (usually the most pain) now has windows-builds (1.0 beta).



来源:https://stackoverflow.com/questions/46656367/how-to-create-an-environment-in-anaconda-with-numpy-nomkl

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!