MulticoreTSNE安装
MulticoreTSNE安装极易报错
ModuleNotFoundError: No module named 'MulticoreTSNE'
需先进行特定版本的cmake安装
pip install cmake==3.18.4
然后
pip install MulticoreTSNE
在实际运行的时候报错
Cannot find/open tsne_multicore shared library
cannot load library '/xxxx/miniconda3/xxx/site-packages/MulticoreTSNE/libtsne_multicore.so':
/xxxx/miniconda3/xxx/site-packages/scipy/_lib/_uarray/../../../../../libstdc++.so.6: version `GLIBCXX_3.4.29' not found
(required by /xxxx/miniconda3/xxx/site-packages/MulticoreTSNE/libtsne_multicore.so)
确认错误来源
$ real path /xxxxx/miniconda3/xxx/scipy/_lib/_uarray/../../../../../libstdc++.so.6
$ /xxxx/miniconda3/xxx/lib/libstdc++.so.6.0.26
$ strings /xxxx/miniconda3/xxx/lib/libstdc++.so.6.0.26 | grep GLIBCXX_3.4.29
$ # return nothing
查找miniconda中有的动态库
find /home/xxx/tools/miniconda3 -name libstdc++.so.6
strings /home/xxx/tools/miniconda3/envs/i2v/lib/libstdc++.so.6 | grep GLIBCXX_3.4.29
找到后进行替换
$ mv /xxxx/miniconda3/xxx/lib/libstdc++.so.6.0.26 /xxxx/miniconda3/xxx/lib/libstdc++.so.6.0.26_bak
$ ln -s /usr/lib/libstdc++.so.6.0.29 /xxxx/miniconda3/xxx/lib/libstdc++.so.6.0.26
再次运行就可以了。
因此可以从头开始,
pip uninstall cmake
pin install cmake
pip uninstall multicoretsne
pip install MulticoreTSNE
按照前述的方法替换GLIBCXX_3.4.29
重新加载python环境再次运行即可。

