我正在尝试为python2.7运行pip install tsne
并且我继续得到相同的错误。我按照http://bickson.blogspot.com/2011/02/installing-blaslapackitpp-on-amaon-ec2.html上的说明安装了LAPACK / BLAS,我认为应该解决了这个问题。什么都没有帮助。我究竟做错了什么?我对bash不熟悉。
running build_ext cythoning tsne/bh_sne.pyx to tsne/bh_sne.cpp building 'bh_sne' extension creating build/temp.linux-x86_64-2.7 creating build/temp.linux-x86_64-2.7/tsne creating build/temp.linux-x86_64-2.7/tsne/bh_sne_src x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/ubuntu/env/work/local/lib/python2.7/site-packages/numpy/core/include -I/usr/local/include -Itsne/bh_sne_src/ -I/usr/include/python2.7 -c tsne/bh_sne_src/quadtree.cpp -o build/temp.linux-x86_64-2.7/tsne/bh_sne_src/quadtree.o -msse2 -O3 -fPIC -w cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default] x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/ubuntu/env/work/local/lib/python2.7/site-packages/numpy/core/include -I/usr/local/include -Itsne/bh_sne_src/ -I/usr/include/python2.7 -c tsne/bh_sne_src/tsne.cpp -o build/temp.linux-x86_64-2.7/tsne/bh_sne_src/tsne.o -msse2 -O3 -fPIC -w cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default] x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/home/ubuntu/env/work/local/lib/python2.7/site-packages/numpy/core/include -I/usr/local/include -Itsne/bh_sne_src/ -I/usr/include/python2.7 -c tsne/bh_sne.cpp -o build/temp.linux-x86_64-2.7/tsne/bh_sne.o -msse2 -O3 -fPIC -w cc1plus: warning: command line option ‘-Wstrict-prototypes’ is valid for C/ObjC but not for C++ [enabled by default] c++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/tsne/bh_sne_src/quadtree.o build/temp.linux-x86_64-2.7/tsne/bh_sne_src/tsne.o build/temp.linux-x86_64-2.7/tsne/bh_sne.o -L/usr/local/lib -o build/lib.linux-x86_64-2.7/bh_sne.so -lcblas /usr/bin/ld: cannot find -lcblas collect2: error: ld returned 1 exit status error: command 'c++' failed with exit status 1 ---------------------------------------- Cleaning up... Command /home/ubuntu/env/work/bin/python -c "import setuptools, tokenize;__file__='/home/ubuntu/env/work/build/tsne/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-3X17dU-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/ubuntu/env/work/include/site/python2.7 failed with error code 1 in /home/ubuntu/env/work/build/tsne Traceback (most recent call last): File "/home/ubuntu/env/work/bin/pip", line 11, in sys.exit(main()) File "/home/ubuntu/env/work/local/lib/python2.7/site-packages/pip/__init__.py", line 185, in main return command.main(cmd_args) File "/home/ubuntu/env/work/local/lib/python2.7/site-packages/pip/basecommand.py", line 161, in main text = '\n'.join(complete_log) UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 42: ordinal not in range(128)
答案 0 :(得分:19)
Ubuntu没有cblas或openblas的二进制分发,这是tsne根据github所需的。但是,Ubuntu上提供的ATLAS带有预编译的cblas。
在Ubuntu中,debian,应该使用:
apt-get install libatlas-base-dev
https://launchpad.net/ubuntu/+source/atlas
如果您需要使用不同的编译器选项,那么您必须自己构建openblas。
并检查是否在/ usr / lib
中获得了libcblas.a已编辑:更正了包名称。
答案 1 :(得分:3)
使用此:
sudo apt-get install libblas-dev liblapack-dev
答案 2 :(得分:2)
下载OpenBLAS的副本并自行编译。使用/usr/local
将其安装到make install
。有OpenBLAS和ATLAS软件包以及官方存储库中的其他软件包,但它们的性能是可疑的。