=================================================================== SciPy を Windows 上でインストールしてみようとしたけど、失敗している =================================================================== :blog_date:`2016/04/10` とりあえずのメモとして残す意味で書こうと思う。 公式で配布されている Windows 向けPython 3.4.4 は numpy/pandas は 3.4 向け wheel が PyPI に存在するので、特に問題なくインストールできる。 しかし、 `SciPy `__ は、公式でも `Christoph Gohlke provides pre-built Windows installers `__ を 利用するということになっている。 何かローカルでもインストールできないかなと簡単に以下のような bat ファイルの感じに 処理をしてみたけど、なかなかうまくいかない感じ。 :: :: :: biuld scipy :: setlocal SET MyCurDir=%CD% SET MyPythonPath=C:\Python\3.4.4.amd64\python.exe SET MyScipyVer=v0.17.0 SET MyOpenBlas=C:\msys64\mingw64\bin\libopenblas.dll CD /D %~dp0 :: create venv IF EXIST .\venv ( RD /S /Q .\venv ) %MyPythonPath% -m venv --clear venv .\venv\Scripts\python.exe -m pip install -U setuptools pip :: install Scipy dep .\venv\Scripts\python.exe -m pip install -U numpy :: install Scipy build dep .\venv\Scripts\python.exe -m pip install -U cython nose tempita :: clone scipy IF EXIST .\scipy ( RD /S /Q .\scipy ) git clone -q -b %MyScipyVer% --depth 1 git://github.com/scipy/scipy.git :: copy libs CD /D %~dp0\venv\lib COPY %MyOpenBlas% %~dp0\venv\lib\ gendef.exe - libopenblas.dll > libopenblas.def lib.exe /MACHINE:x64 /DEF:libopenblas.def /OUT:openblas.lib :: install scipy CD /D %~dp0\scipy %~dp0\venv\Scripts\python.exe setup.py install CD "%MyCurDir%" endlocal ログは以下の感じ。 manifest で ????? ってログが出ているのと、 lapack とかのライブラリがない感じ。 :: λ .\build.bat setlocal SET MyCurDir=D:\tomo\Documents\bld_scipy SET MyPythonPath=C:\Python\3.4.4.amd64\python.exe SET MyScipyVer=v0.17.0 SET MyOpenBlas=C:\msys64\mingw64\bin\libopenblas.dll CD /D D:\tomo\Documents\bld_scipy\ IF EXIST .\venv (RD /S /Q .\venv ) C:\Python\3.4.4.amd64\python.exe -m venv --clear venv .\venv\Scripts\python.exe -m pip install -U setuptools pip Collecting setuptools Using cached setuptools-20.6.7-py2.py3-none-any.whl Collecting pip Using cached pip-8.1.1-py2.py3-none-any.whl Installing collected packages: setuptools, pip Found existing installation: setuptools 18.2 Uninstalling setuptools-18.2: Successfully uninstalled setuptools-18.2 Found existing installation: pip 7.1.2 Uninstalling pip-7.1.2: Successfully uninstalled pip-7.1.2 Successfully installed pip-8.1.1 setuptools-20.6.7 .\venv\Scripts\python.exe -m pip install -U numpy Collecting numpy Using cached numpy-1.11.0-cp34-none-win_amd64.whl Installing collected packages: numpy Successfully installed numpy-1.11.0 .\venv\Scripts\python.exe -m pip install -U numpy cython nose tempita Requirement already up-to-date: numpy in d:\tomo\documents\bld_scipy\venv\lib\site-packages Collecting cython Using cached Cython-0.24-cp34-none-win_amd64.whl Collecting nose Using cached nose-1.3.7-py3-none-any.whl Collecting tempita Using cached Tempita-0.5.2.tar.gz Installing collected packages: cython, nose, tempita Running setup.py install for tempita ... done Successfully installed cython-0.24 nose-1.3.7 tempita-0.5.2 IF EXIST .\scipy (RD /S /Q .\scipy ) git clone -q -b v0.17.0 --depth 1 git://github.com/scipy/scipy.git Note: checking out '4b17e2bcbed2ef65cd14923a1ed5d1ccb6d8f8aa'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b CD /D D:\tomo\Documents\bld_scipy\\venv\lib COPY C:\msys64\mingw64\bin\libopenblas.dll D:\tomo\Documents\bld_scipy\\venv\lib\ 1 個のファイルをコピーしました。 gendef.exe - libopenblas.dll 1>libopenblas.def * [libopenblas.dll] Found PE+ image lib.exe /MACHINE:x64 /DEF:libopenblas.def /OUT:openblas.lib Microsoft (R) Library Manager Version 10.00.30319.01 Copyright (C) Microsoft Corporation. All rights reserved. Creating library openblas.lib and object openblas.exp CD /D D:\tomo\Documents\bld_scipy\\scipy D:\tomo\Documents\bld_scipy\\venv\Scripts\python.exe setup.py install Cythonizing sources Processing scipy\cluster\_hierarchy.pyx Processing scipy\cluster\_vq.pyx Processing scipy\interpolate\interpnd.pyx Processing scipy\interpolate\_ppoly.pyx Processing scipy\io\matlab\mio5_utils.pyx Processing scipy\io\matlab\mio_utils.pyx Processing scipy\io\matlab\streams.pyx Processing scipy\linalg\cython_blas.pyx Processing scipy\linalg\cython_lapack.pyx Processing scipy\linalg\_decomp_update.pyx.in Processing scipy\linalg\_solve_toeplitz.pyx Processing scipy\ndimage\src\_ni_label.pyx Processing scipy\optimize\_group_columns.pyx Processing scipy\optimize\_lsq\givens_elimination.pyx Processing scipy\signal\_max_len_seq_inner.pyx Processing scipy\signal\_spectral.pyx Processing scipy\sparse\_csparsetools.pyx.in Processing scipy\sparse\csgraph\_min_spanning_tree.pyx Processing scipy\sparse\csgraph\_reordering.pyx Processing scipy\sparse\csgraph\_shortest_path.pyx Processing scipy\sparse\csgraph\_tools.pyx Processing scipy\sparse\csgraph\_traversal.pyx Processing scipy\spatial\ckdtree.pyx Processing scipy\spatial\qhull.pyx Processing scipy\special\_ellip_harm_2.pyx Processing scipy\special\_ufuncs.pyx Processing scipy\special\_ufuncs_cxx.pyx Processing scipy\stats\vonmises_cython.pyx Processing scipy\stats\_rank.pyx C:\Python\3.4.4.amd64\lib\distutils\dist.py:260: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) C:\Python\3.4.4.amd64\lib\distutils\dist.py:260: UserWarning: Unknown distribution option: 'install_requires' warnings.warn(msg) C:\Python\3.4.4.amd64\lib\distutils\dist.py:260: UserWarning: Unknown distribution option: 'setup_requires' warnings.warn(msg) lapack_opt_info: openblas_lapack_info: creating C:\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\Users creating C:\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\Users\tomo creating C:\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\Users\tomo\AppData creating C:\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\Users\tomo\AppData\Local creating C:\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\Users\tomo\AppData\Local\Temp creating C:\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG /TcC:\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\source.c /FoC:\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\source.obj Found executable C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\Bin\amd64\cl.exe C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\Bin\amd64\link.exe /nologo /INCREMENTAL:NO /LIBPATH:D:\tomo\Documents\bld_scipy\venv\lib openblas.lib C:\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\source.obj /OUT:C:\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\a.out.exe /MANIFESTFILE:C:\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\a.out.exe.manifest Found executable C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\Bin\amd64\link.exe mt.exe -nologo -manifest C:\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\a.out.exe.manifest -outputresource:C:\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\a.out.exe;1 Found executable C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\x64\mt.exe C:\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\Users\tomo\AppData\Local\Temp\tmp8tb2pzb0\a.out.exe.manifest : general error c1010070: Failed to load and parse the manifest. ?????????????????? NOT AVAILABLE lapack_mkl_info: mkl_info: libraries mkl,vml,guide not found in ['D:\\tomo\\Documents\\bld_scipy\\venv\\lib', 'C:\\'] NOT AVAILABLE NOT AVAILABLE atlas_3_10_threads_info: Setting PTATLAS=ATLAS D:\tomo\Documents\bld_scipy\venv\lib\site-packages\numpy\distutils\system_info.py:633: UserWarning: Specified path C:\projects\windows-wheel-builder\atlas-builds\atlas-3.11.38-sse2-64\lib is invalid. warnings.warn('Specified path %s is invalid.' % d) NOT AVAILABLE atlas_3_10_info: NOT AVAILABLE atlas_threads_info: Setting PTATLAS=ATLAS NOT AVAILABLE atlas_info: NOT AVAILABLE D:\tomo\Documents\bld_scipy\venv\lib\site-packages\numpy\distutils\system_info.py:1542: UserWarning: Atlas (http://math-atlas.sourceforge.net/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [atlas]) or by setting the ATLAS environment variable. warnings.warn(AtlasNotFoundError.__doc__) lapack_info: libraries lapack not found in ['D:\\tomo\\Documents\\bld_scipy\\venv\\lib', 'C:\\'] NOT AVAILABLE D:\tomo\Documents\bld_scipy\venv\lib\site-packages\numpy\distutils\system_info.py:1553: UserWarning: Lapack (http://www.netlib.org/lapack/) libraries not found. Directories to search for the libraries can be specified in the numpy/distutils/site.cfg file (section [lapack]) or by setting the LAPACK environment variable. warnings.warn(LapackNotFoundError.__doc__) lapack_src_info: NOT AVAILABLE D:\tomo\Documents\bld_scipy\venv\lib\site-packages\numpy\distutils\system_info.py:1556: UserWarning: Lapack (http://www.netlib.org/lapack/) sources not found. Directories to search for the sources can be specified in the numpy/distutils/site.cfg file (section [lapack_src]) or by setting the LAPACK_SRC environment variable. warnings.warn(LapackSrcNotFoundError.__doc__) NOT AVAILABLE Running from scipy source directory. Traceback (most recent call last): File "setup.py", line 265, in setup_package() File "setup.py", line 262, in setup_package setup(**metadata) File "D:\tomo\Documents\bld_scipy\venv\lib\site-packages\numpy\distutils\core.py", line 135, in setup config = configuration() File "setup.py", line 182, in configuration config.add_subpackage('scipy') File "D:\tomo\Documents\bld_scipy\venv\lib\site-packages\numpy\distutils\misc_util.py", line 1003, in add_subpackage caller_level = 2) File "D:\tomo\Documents\bld_scipy\venv\lib\site-packages\numpy\distutils\misc_util.py", line 972, in get_subpackage caller_level = caller_level + 1) File "D:\tomo\Documents\bld_scipy\venv\lib\site-packages\numpy\distutils\misc_util.py", line 909, in _get_configuration_from_setup_py config = setup_module.configuration(*args) File "scipy\setup.py", line 15, in configuration config.add_subpackage('linalg') File "D:\tomo\Documents\bld_scipy\venv\lib\site-packages\numpy\distutils\misc_util.py", line 1003, in add_subpackage caller_level = 2) File "D:\tomo\Documents\bld_scipy\venv\lib\site-packages\numpy\distutils\misc_util.py", line 972, in get_subpackage caller_level = caller_level + 1) File "D:\tomo\Documents\bld_scipy\venv\lib\site-packages\numpy\distutils\misc_util.py", line 909, in _get_configuration_from_setup_py config = setup_module.configuration(*args) File "scipy\linalg\setup.py", line 20, in configuration raise NotFoundError('no lapack/blas resources found') numpy.distutils.system_info.NotFoundError: no lapack/blas resources found CD "D:\tomo\Documents\bld_scipy" endlocal よくわからんね。