macOS下安装geatpy2.5.1报错image not found
报错详细情况如下:
import geatpy as ea Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/Users/s1zer/anaconda3/envs/ml/lib/python3.8/site-packages/geatpy/init.py", line 17, in <module> from boundfix import boundfix ImportError: dlopen(/Users/s1zer/anaconda3/envs/ml/lib/python3.8/site-packages/geatpy/core/boundfix.cpython-38-darwin.so, 2): Library not loaded: /usr/local/opt/gcc/lib/gcc/9/libgomp.1.dylib Referenced from: /Users/s1zer/anaconda3/envs/ml/lib/python3.8/site-packages/geatpy/core/boundfix.cpython-38-darwin.so Reason: image not found
第一步(官网给出的答案)
macos所使用的clang缺失libomp时就会出现该问题。执行brew install libomp
即可解决该问题。如果在执行brew install libomp时卡住,可以切换brew的镜像源进行安装。该问题将会在下一个发行版里得到彻底解决,届时不再需要进行上面所说的额外操作便可正常import。
老老实实按照官网说的做,做完之后回到python,import geatpy 依然报错;
第二步(brew install gcc)
安装gcc
执行
brew install gcc
然后依然报同样的错误
Library not loaded: /usr/local/opt/gcc/lib/gcc/9/libgomp.1.dylib
那么进入第三步~~~
第三步(新建文件夹)
报什么样的错误就解决什么样的错误!
首先打开文件夹/usr/local/opt/gcc/lib/gcc/
至于怎么打开呢?
Mac下/usr/local目录默认是对于Finder是隐藏的, 如果需要打开/usr/local
1.打开Finder
2.使用command+shift+G, 在弹出的目录中填写/usr/local就可以啦
这时候进入10这个文件夹,发现我们需要的libgomp.1.dylib就在其中。
当然,进行到这里,你可以更改库/libgomp.1.dylib的地址。
最简单的办法就是在gcc文件夹下新建一个9的文件夹。
然后把10里面的内容全都复制一遍到9
最后一步
再次进入python
执行import geatpy as ea
以及print(ea.__version__)
即可查看当前的Geatpy版本。
如果输出正确的2.5.1
那么大功告成啦~~~