链接错误安装Python Blosc

时间:2017-12-21 01:00:06

标签: python linker-errors bcolz

我安装了C-Blosc库没有问题,但是当我尝试安装python-blosc并转到python setup.py build_ext --inplace --blosc="C:\\Program Files (x86)\\blosc"时,我收到链接错误。发生了什么事?

我有Windows 7,我正在尝试从这里https://github.com/Blosc在MSVC 2015中安装Python Blosc。

running build_ext
building 'blosc.blosc_extension' extension
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL 
/DNDEBUG /MD "-IC:\Program Files (x86)\blosc\include" -IC:\Users\adam.hendry\AppData\Local\Programs\Python\Python35\include -IC:\Users\adam.hendry\AppData\Local\Programs\Python\Python35\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.16299.0\winrt" /Tcblosc/blosc_extension.c /Fobuild\temp.win-amd64-3.5\Release\blosc/blosc_extension.obj
blosc_extension.c
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO "/LIBPATH:C:\Program Files (x86)\blosc\lib" /LIBPATH:C:\Users\adam.hendry\AppData\Local\Programs\Python\Python35\libs /LIBPATH:C:\Users\adam.hendry\AppData\Local\Programs\Python\Python35\PCbuild\amd64 "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.16299.0\ucrt\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64" "/LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.16299.0\um\x64" blosc.lib /EXPORT:PyInit_blosc_extension build\temp.win-amd64-3.5\Release\blosc/blosc_extension.obj /OUT:build\lib.win-amd64-3.5\blosc\blosc_extension.cp35-win_amd64.pyd /IMPLIB:build\temp.win-amd64-3.5\Release\blosc\blosc_extension.cp35-win_amd64.lib
blosc_extension.obj : warning LNK4197: export 'PyInit_blosc_extension' specified multiple times; using first specification
   Creating library build\temp.win-amd64-3.5\Release\blosc\blosc_extension.cp35-win_amd64.lib and 
object build\temp.win-amd64-3.5\Release\blosc\blosc_extension.cp35-win_amd64.exp
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_cbuffer_sizes
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_free_resources
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_cbuffer_complib    
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_destroy
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_get_complib_info
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_compress
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_set_nthreads
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_init
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_get_blocksize
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_compname_to_compcode
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_compress_ctx
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_set_blocksize
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_set_compressor
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_decompress_ctx
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_get_nthreads
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_compcode_to_compname
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_decompress
blosc_extension.obj : error LNK2001: unresolved external symbol blosc_list_compressors
build\lib.win-amd64-3.5\blosc\blosc_extension.cp35-win_amd64.pyd : fatal error LNK1120: 18 
unresolved externals
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\link.exe' 
failed with exit status 1120

1 个答案:

答案 0 :(得分:0)

这是python-blosc的维护者。如评论中所述,进行pip install blosc将需要一个c编译器和python开发头文件。之所以如此,是因为python-blosc不能作为轮子使用(状态:2019年2月9日)。但是,您可以使用conda安装通过conda-forge构建的预编译二进制文件:

conda install -c conda-forge python-blosc