簡體   English   中英

在 Windows 10 上為 PyPy3 安裝 numpy 時出現問題

[英]Problem installing numpy for PyPy3 on Windows 10

我在嘗試在我的 Windows 10 機器上為 pypy3 安裝 numpy 時遇到問題。

由於我無法判斷這個問題是源於我的 pypy3 安裝還是其他原因,所以我在這里描述了到目前為止我所遵循的所有步驟:

如官方下載頁面所示,我有:

  • 下載並安裝“Visual C++ Redistributable Package” vcredist.x86.exe
  • 下載並安裝了 Pypy3“Windows 二進制(32 位)”文件pypy3.6-v7.3.1-win32.zip

然后在手動將 pypy3 添加到我的機器的PATH之后,我有:

  • 使用命令pypy3 -m ensurepip從 shell 安裝pip package

嘗試安裝 numpy 時會出現問題。 官方文檔說可以通過執行pypy -m pip install numpy pypy3在我的情況下為 pypy3 )安裝它,但這樣做會引發以下錯誤:

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.

正如同一個文檔中所建議的,我還嘗試使用帶有以下命令的實驗性PyPy 二進制輪子

pypy3 -m pip install --extra-index-url https://antocuni.github.io/pypy-wheels/manylinux2010 numpy

但出現完全相同的錯誤消息。 我應該注意到,在這個相關線程中推薦的類似解決方法也失敗了。

附加信息:

  • 我安裝了“Visual Studio Build Tools 2019”(MSVC v142 - VS 2019 C++ x64/x86 Build Tools (v14.25))
  • 我正在使用 pip 20.1 版和 setuptools 46.4.0 版
  • 我已將英語作為我系統的主要語言(下面的評論中提到了可能的非 ascii 沖突)
  • 我嘗試過使用其他版本(pypy2.7 v7.3.1 和 pypy3.6 v7.3.0)無濟於事(相同的錯誤消息)

任何幫助將不勝感激。

似乎是 ppy3 沒有正確安裝。 嘗試通過 wget 安裝。

wget https://bootstrap.pypa.io/get-pip.py
./pypy get-pip.py

安裝后,嘗試安裝 numpy

pypy -m pip install numpy 

感謝您在 Windows 上試用 PyPy 並報告問題。 我們真的沒有大型 Windows PyPy 社區,所以反饋很好。 這里有兩件事在起作用:

  • RPython 錯誤(將其視為 CPython 中的 C 級段錯誤),這可能是由非 ascii 路徑名引起的。 認為我們在 7.3.1 版本之后修復了這個問題,但最好嘗試弄清楚那里發生了什么,它是/曾經是 PyPy 中的一個錯誤。
  • 構建失敗,帶有神秘的“損壞的工具鏈:無法鏈接簡單的 C 程序”。 這與最新版本中從 MSVC9(Visual Studio 2008)到 MSVC14(Visual Studio 2017、2019)的過渡有關。 它應該在這個提交到 PyPy 中得到修復,它應該在下一個夜間構建中登陸

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM