背景:
使用Mac10.15,我刚刚安装了python、conda和julia
然后,我使用conda安装numpy,并安装了juliapycall,将ENV[“PYTHON”]指向conda可执行文件(在PYTHON中输出sys.executable和所需的conda环境)
我有一个使用numpy的python库“mylib”
问题
当我试图
pyimport("mylib")
我得到
Intel MKL FATAL ERROR: Cannot load libmkl_intel_thread.dylib.
我发现这是由于julia使用的64位MKL库和python使用的32位MKL库之间存在冲突:
https://www.reddit.com/r/Julia/comments/jj7ubh/pycall_intel_mkl_error/
https://github.com/JuliaPy/PyCall.jl/issues/443
julia表单中给出的解决方案建议使用更改的标志重新编译julia。 这似乎是不必要的痛苦,还有其他选择吗
我找到的最佳解决方案是创建一个单独的conda环境,它不使用MKL,并使用python二进制文件与julia一起工作
由于此解决方案的一部分分散在各处,使我头痛不已,因此我想我会在这里收集所有内容:
创建没有MKL的Conda环境
How to install scipy without mkl
我特别建议:
然后像往常一样安装软件包
这样做将创建一个特殊的conda环境和python二进制文件,您只需使用julia的PyCall即可。这样,您就可以继续将MKL用于其他纯python的工作
找出python二进制文件的位置:
无修复PyCall:在julia中:
在那之后一切都会好起来的。如果julia pyimport代码需要任何库,请确保立即在pynomkl环境中安装它们
相关问题 更多 >
编程相关推荐