问题
I am having issues trying to install numpy for pypy3 on my Windows 10 machine.
As I am unable to tell if this problem stems from my pypy3 installation or from something else I am describing here all the steps that I have followed so far:
As indicated on the official download page I have:
- downloaded and installed the "Visual C++ Redistributable Package"
vcredist.x86.exe
- downloaded and installed the Pypy3 "Windows binary (32 bits)" file
pypy3.6-v7.3.1-win32.zip
Then after having manually added pypy3 to the PATH
of my machine, I have:
- installed the
pip
package from the shell with the commandpypy3 -m ensurepip
The problem arises when trying to install numpy. The official documentation says that one can install it by doing pypy -m pip install numpy
(pypy3
in my case) but doing so throws the following error:
Collecting numpy
Using cached numpy-1.18.4.zip (5.4 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... error
ERROR: Command errored out with exit status 1:
command: 'C:\pypy3\pypy3.exe' 'C:\pypy3\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\solub\AppData\Local\Temp\tmplva52crq'
cwd: C:\Users\solub\AppData\Local\Temp\pip-install-fe1jhyy5\numpy
Complete output (231 lines):
Processing numpy/random\_bounded_integers.pxd.in
Processing numpy/random\mtrand.pyx
Processing numpy/random\_bit_generator.pyx
Processing numpy/random\_bounded_integers.pyx.in
Processing numpy/random\_common.pyx
Processing numpy/random\_generator.pyx
Processing numpy/random\_mt19937.pyx
Processing numpy/random\_pcg64.pyx
Processing numpy/random\_philox.pyx
Processing numpy/random\_sfc64.pyx
Cythonizing sources
blas_opt_info:
blas_mkl_info:
customize MSVCCompiler
libraries mkl_rt not found in ['C:\\', 'C:\\pypy3\\libs']
NOT AVAILABLE
blis_info:
libraries blis not found in ['C:\\', 'C:\\pypy3\\libs']
NOT AVAILABLE
openblas_info:
libraries openblas not found in ['C:\\', 'C:\\pypy3\\libs']
get_default_fcompiler: matching types: '['gnu', 'intelv', 'absoft', 'compaqv', 'intelev', 'gnu95', 'g95', 'intelvem', 'intelem', 'flang']'
customize GnuFCompiler
Could not locate executable g77
Could not locate executable f77
customize IntelVisualFCompiler
Could not locate executable ifort
Could not locate executable ifl
customize AbsoftFCompiler
Could not locate executable f90
customize CompaqVisualFCompiler
Could not locate executable DF
customize IntelItaniumVisualFCompiler
Could not locate executable efl
customize Gnu95FCompiler
Could not locate executable gfortran
Could not locate executable f95
customize G95FCompiler
Could not locate executable g95
customize IntelEM64VisualFCompiler
customize IntelEM64TFCompiler
Could not locate executable efort
Could not locate executable efc
customize PGroupFlangCompiler
Could not locate executable flang
don't know how to compile Fortran code on platform 'nt'
NOT AVAILABLE
atlas_3_10_blas_threads_info:
Setting PTATLAS=ATLAS
libraries tatlas not found in ['C:\\', 'C:\\pypy3\\libs']
NOT AVAILABLE
atlas_3_10_blas_info:
libraries satlas not found in ['C:\\', 'C:\\pypy3\\libs']
NOT AVAILABLE
atlas_blas_threads_info:
Setting PTATLAS=ATLAS
libraries ptf77blas,ptcblas,atlas not found in ['C:\\', 'C:\\pypy3\\libs']
NOT AVAILABLE
atlas_blas_info:
libraries f77blas,cblas,atlas not found in ['C:\\', 'C:\\pypy3\\libs']
NOT AVAILABLE
accelerate_info:
NOT AVAILABLE
blas_info:
libraries blas not found in ['C:\\', 'C:\\pypy3\\libs']
NOT AVAILABLE
blas_src_info:
NOT AVAILABLE
NOT AVAILABLE
non-existing path in 'numpy\\distutils': 'site.cfg'
lapack_opt_info:
lapack_mkl_info:
libraries mkl_rt not found in ['C:\\', 'C:\\pypy3\\libs']
NOT AVAILABLE
openblas_lapack_info:
libraries openblas not found in ['C:\\', 'C:\\pypy3\\libs']
NOT AVAILABLE
openblas_clapack_info:
libraries openblas,lapack not found in ['C:\\', 'C:\\pypy3\\libs']
NOT AVAILABLE
flame_info:
libraries flame not found in ['C:\\', 'C:\\pypy3\\libs']
NOT AVAILABLE
atlas_3_10_threads_info:
Setting PTATLAS=ATLAS
libraries lapack_atlas not found in C:\
libraries tatlas,tatlas not found in C:\
libraries lapack_atlas not found in C:\pypy3\libs
libraries tatlas,tatlas not found in C:\pypy3\libs
<class 'numpy.distutils.system_info.atlas_3_10_threads_info'>
NOT AVAILABLE
atlas_3_10_info:
libraries lapack_atlas not found in C:\
libraries satlas,satlas not found in C:\
libraries lapack_atlas not found in C:\pypy3\libs
libraries satlas,satlas not found in C:\pypy3\libs
<class 'numpy.distutils.system_info.atlas_3_10_info'>
NOT AVAILABLE
atlas_threads_info:
Setting PTATLAS=ATLAS
libraries lapack_atlas not found in C:\
libraries ptf77blas,ptcblas,atlas not found in C:\
libraries lapack_atlas not found in C:\pypy3\libs
libraries ptf77blas,ptcblas,atlas not found in C:\pypy3\libs
<class 'numpy.distutils.system_info.atlas_threads_info'>
NOT AVAILABLE
atlas_info:
libraries lapack_atlas not found in C:\
libraries f77blas,cblas,atlas not found in C:\
libraries lapack_atlas not found in C:\pypy3\libs
libraries f77blas,cblas,atlas not found in C:\pypy3\libs
<class 'numpy.distutils.system_info.atlas_info'>
NOT AVAILABLE
lapack_info:
libraries lapack not found in ['C:\\', 'C:\\pypy3\\libs']
NOT AVAILABLE
lapack_src_info:
NOT AVAILABLE
NOT AVAILABLE
running dist_info
running build_src
build_src
building py_modules sources
creating build
creating build\src.win32-3.6
creating build\src.win32-3.6\numpy
creating build\src.win32-3.6\numpy\distutils
building library "npymath" sources
Running from numpy source directory.
setup.py:461: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates
run_build = parse_setuppy_commands()
C:\Users\solub\AppData\Local\Temp\pip-install-fe1jhyy5\numpy\numpy\distutils\system_info.py:1896: UserWarning:
Optimized (vendor) Blas libraries are not found.
Falls back to netlib Blas library which has worse performance.
A better performance should be easily gained by switching
Blas library.
if self._calc_info(blas):
C:\Users\solub\AppData\Local\Temp\pip-install-fe1jhyy5\numpy\numpy\distutils\system_info.py:1896: UserWarning:
Blas (http://www.netlib.org/blas/) libraries not found.
Directories to search for the libraries can be specified in the
numpy/distutils/site.cfg file (section [blas]) or by setting
the BLAS environment variable.
if self._calc_info(blas):
C:\Users\solub\AppData\Local\Temp\pip-install-fe1jhyy5\numpy\numpy\distutils\system_info.py:1896: UserWarning:
Blas (http://www.netlib.org/blas/) sources not found.
Directories to search for the sources can be specified in the
numpy/distutils/site.cfg file (section [blas_src]) or by setting
the BLAS_SRC environment variable.
if self._calc_info(blas):
C:\Users\solub\AppData\Local\Temp\pip-install-fe1jhyy5\numpy\numpy\distutils\system_info.py:1730: 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.
return getattr(self, '_calc_info_{}'.format(name))()
C:\Users\solub\AppData\Local\Temp\pip-install-fe1jhyy5\numpy\numpy\distutils\system_info.py:1730: 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.
return getattr(self, '_calc_info_{}'.format(name))()
C:\pypy3\lib-python\3\distutils\dist.py:261: UserWarning: Unknown distribution option: 'define_macros'
warnings.warn(msg)
Traceback (most recent call last):
File "C:\pypy3\site-packages\pip\_vendor\pep517\_in_process.py", line 280, in <module>
main()
File "C:\pypy3\site-packages\pip\_vendor\pep517\_in_process.py", line 263, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "C:\pypy3\site-packages\pip\_vendor\pep517\_in_process.py", line 133, in prepare_metadata_for_build_wheel
return hook(metadata_directory, config_settings)
File "C:\Users\solub\AppData\Local\Temp\pip-build-env-0puh3yb5\overlay\site-packages\setuptools\build_meta.py", line 158, in prepare_metadata_for_build_wheel
self.run_setup()
File "C:\Users\solub\AppData\Local\Temp\pip-build-env-0puh3yb5\overlay\site-packages\setuptools\build_meta.py", line 250, in run_setup
self).run_setup(setup_script=setup_script)
File "C:\Users\solub\AppData\Local\Temp\pip-build-env-0puh3yb5\overlay\site-packages\setuptools\build_meta.py", line 143, in run_setup
exec(compile(code, __file__, 'exec'), locals())
File "setup.py", line 488, in <module>
setup_package()
File "setup.py", line 480, in setup_package
setup(**metadata)
File "C:\Users\solub\AppData\Local\Temp\pip-install-fe1jhyy5\numpy\numpy\distutils\core.py", line 171, in setup
return old_setup(**new_attr)
File "C:\Users\solub\AppData\Local\Temp\pip-build-env-0puh3yb5\overlay\site-packages\setuptools\__init__.py", line 144, in setup
return distutils.core.setup(**attrs)
File "C:\pypy3\lib-python\3\distutils\core.py", line 148, in setup
dist.run_commands()
File "C:\pypy3\lib-python\3\distutils\dist.py", line 955, in run_commands
self.run_command(cmd)
File "C:\pypy3\lib-python\3\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "C:\Users\solub\AppData\Local\Temp\pip-build-env-0puh3yb5\overlay\site-packages\setuptools\command\dist_info.py", line 31, in run
egg_info.run()
File "C:\Users\solub\AppData\Local\Temp\pip-install-fe1jhyy5\numpy\numpy\distutils\command\egg_info.py", line 26, in run
self.run_command("build_src")
File "C:\pypy3\lib-python\3\distutils\cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:\pypy3\lib-python\3\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "C:\Users\solub\AppData\Local\Temp\pip-install-fe1jhyy5\numpy\numpy\distutils\command\build_src.py", line 146, in run
self.build_sources()
File "C:\Users\solub\AppData\Local\Temp\pip-install-fe1jhyy5\numpy\numpy\distutils\command\build_src.py", line 157, in build_sources
self.build_library_sources(*libname_info)
File "C:\Users\solub\AppData\Local\Temp\pip-install-fe1jhyy5\numpy\numpy\distutils\command\build_src.py", line 290, in build_library_sources
sources = self.generate_sources(sources, (lib_name, build_info))
File "C:\Users\solub\AppData\Local\Temp\pip-install-fe1jhyy5\numpy\numpy\distutils\command\build_src.py", line 380, in generate_sources
source = func(extension, build_dir)
File "numpy\core\setup.py", line 661, in get_mathlib_info
raise RuntimeError("Broken toolchain: cannot link a simple C program")
RuntimeError: Broken toolchain: cannot link a simple C program
----------------------------------------
ERROR: Command errored out with exit status 1: 'C:\pypy3\pypy3.exe' 'C:\pypy3\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Users\solub\AppData\Local\Temp\tmplva52crq' Check the logs for full command output.
As suggested in the same document I have also tried to use the experimental PyPy binary wheels with the command:
pypy3 -m pip install --extra-index-url https://antocuni.github.io/pypy-wheels/manylinux2010 numpy
but the exact same error message appears. I should note that a similar workaround recommended in this related thread failed as well.
Additional information:
- I have "Visual Studio Build Tools 2019" installed (MSVC v142 - VS 2019 C++ x64/x86 Build Tools (v14.25))
- I am using pip version 20.1 along with setuptools version 46.4.0
- I have made English the main language for my system (a possible non-ascii conflict was mentioned in the comments below)
- I have tried with other versions (pypy2.7 v7.3.1 and pypy3.6 v7.3.0) to no avail (same error message)
Any help would be greatly appreciated.
回答1:
Thanks for trying out PyPy on Windows and reporting problems. We don't really have a large Windows PyPy community, so feedback is good. There are two things at play here:
- The RPython error (think of it as a C level segfault in CPython), which might be caused by non-ascii path names. I think we fixed this after the 7.3.1 release, but it would be good to try to work out exactly what is going on there, it is/was a bug deep in PyPy.
- The failure to build, with the cryptic "Broken toolchain: cannot link a simple C program". This has to do with a transition from MSVC9 (Visual Studio 2008) to MSVC14 (Visual Studio 2017, 2019) in the latest release. It should be fixed in this commit to PyPy, which should land in the next nightly build
回答2:
Seems to be ppy3 is not properly installed. Try installing through wget.
wget https://bootstrap.pypa.io/get-pip.py
./pypy get-pip.py
Once installed, try installing numpy
pypy -m pip install numpy
来源:https://stackoverflow.com/questions/61841401/problem-installing-numpy-for-pypy3-on-windows-10