错误:无法使用 PEP 517 构建 Scipy 的 wheels,因此无法直接安装。

197
我试图在我的64位ARMV8开发板上通过pip安装scipy。我已经安装了scipy所需的openblas,所以没有问题。当我输入 pip3 install scipy --trusted-host pypi.org --trusted-host files.pythonhosted.org时,出现错误Failed building wheel for scipy。我在/usr/bin中有pip3和pip3.5,而其余的pip在/usr/lib64/python3.5/site-packages中。因此,基本上我也有pip。
我还尝试使用--no-binary选项安装scipy,这是网上的一个答案之一。但是,它给了我相同的错误。以下是我得到的错误信息:ERROR:
Collecting scipy
  Downloading scipy-1.4.1.tar.gz (24.6 MB)
     |################################| 24.6 MB 6.6 MB/s 
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Building wheels for collected packages: scipy
  Building wheel for scipy (PEP 517) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 /usr/lib64/python3.5/site-packages/pip-20.0.2-py3.5.egg/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmpkklsvv4v
       cwd: /tmp/pip-install-9v4nmof7/scipy
  Complete output (50 lines):
  /usr/bin/python3: No module named pip
  Traceback (most recent call last):
    File "/usr/lib64/python3.5/site-packages/setuptools/installer.py", line 128, in fetch_build_egg
      subprocess.check_call(cmd)
    File "/usr/lib64/python3.5/subprocess.py", line 271, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpp7fvgp36', '--quiet', 'numpy>=1.13.3']' returned non-zero exit status 1

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "/usr/lib64/python3.5/site-packages/pip-20.0.2-py3.5.egg/pip/_vendor/pep517/_in_process.py", line 257, in <module>
      main()
    File "/usr/lib64/python3.5/site-packages/pip-20.0.2-py3.5.egg/pip/_vendor/pep517/_in_process.py", line 240, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "/usr/lib64/python3.5/site-packages/pip-20.0.2-py3.5.egg/pip/_vendor/pep517/_in_process.py", line 182, in build_wheel
      metadata_directory)
    File "/usr/lib64/python3.5/site-packages/setuptools/build_meta.py", line 213, in build_wheel
      wheel_directory, config_settings)
    File "/usr/lib64/python3.5/site-packages/setuptools/build_meta.py", line 198, in _build_with_temp_dir
      self.run_setup()
    File "/usr/lib64/python3.5/site-packages/setuptools/build_meta.py", line 250, in run_setup
      self).run_setup(setup_script=setup_script)
    File "/usr/lib64/python3.5/site-packages/setuptools/build_meta.py", line 143, in run_setup
      exec(compile(code, __file__, 'exec'), locals())
    File "setup.py", line 540, in <module>
      setup_package()
    File "setup.py", line 536, in setup_package
      setup(**metadata)
    File "/usr/lib64/python3.5/site-packages/numpy/distutils/core.py", line 126, in setup
      dist = setup(**new_attr)
    File "/usr/lib64/python3.5/site-packages/numpy/distutils/core.py", line 169, in setup
      return old_setup(**new_attr)
    File "/usr/lib64/python3.5/site-packages/setuptools/__init__.py", line 143, in setup
      _install_setup_requires(attrs)
    File "/usr/lib64/python3.5/site-packages/setuptools/__init__.py", line 138, in _install_setup_requires
      dist.fetch_build_eggs(dist.setup_requires)
    File "/usr/lib64/python3.5/site-packages/setuptools/dist.py", line 698, in fetch_build_eggs
      replace_conflicting=True,
    File "/usr/lib64/python3.5/site-packages/pkg_resources/__init__.py", line 783, in resolve
      replace_conflicting=replace_conflicting
    File "/usr/lib64/python3.5/site-packages/pkg_resources/__init__.py", line 1066, in best_match
      return self.obtain(req, installer)
    File "/usr/lib64/python3.5/site-packages/pkg_resources/__init__.py", line 1078, in obtain
      return installer(requirement)
    File "/usr/lib64/python3.5/site-packages/setuptools/dist.py", line 754, in fetch_build_egg
      return fetch_build_egg(self, req)
    File "/usr/lib64/python3.5/site-packages/setuptools/installer.py", line 130, in fetch_build_egg
      raise DistutilsError(str(e))
  distutils.errors.DistutilsError: Command '['/usr/bin/python3', '-m', 'pip', '--disable-pip-version-check', 'wheel', '--no-deps', '-w', '/tmp/tmpp7fvgp36', '--quiet', 'numpy>=1.13.3']' returned non-zero exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for scipy
Failed to build scipy
ERROR: Could not build wheels for scipy which use PEP 517 and cannot be installed directly

/usr/bin/python3 --version/usr/bin/python3 -m pip --version - phd
@phd:/usr/bin/python3 --version 显示的是 Python 3.5.3,而 /usr/bin/python3 -m pip --version 则显示 没有找到pip模块 - Sourabrt
1
你需要安装pip - phd
@phd:我已经安装了pip。/usr/bin/pip3 --version的输出为**pip 20.0.2 from /usr/lib64/python3.5/site-packages/pip-20.0.2-py3.5.egg/pip (python 3.5)**。 - Sourabrt
哦,/usr/lib64/python3.5/site-packagessys.path中,但不在/usr/lib64/python3.5/site-packages/pip-20.0.2-py3.5.egg/中。奇怪的配置。您确定/usr/bin/python3/usr/bin/python3.5是同一版本的Python吗?/usr/bin/python3.5 -m pip --versionhead -1 /usr/bin/pip3head -1 /usr/bin/pip3.5 - phd
显示剩余3条评论
30个回答

1
在我的情况下,我只是使用了特定的Python版本,即3.8版本,而不是最新版本作为我的基础镜像。
之前的写法: FROM python:3 改为以下写法: FROM python:3.8 这个问题针对我已经解决了。

1
如果您在conda环境中,则应该使用:
conda install scipy
因为conda将安装所有必要的依赖项并确保构建成功。

0

尝试:

apt-get install build-essential python-dev python-pip

然后:

pip install couchbase

0

我遇到了同样的问题,并通过使用conda安装模块来解决它。 在我的情况下,conda install -c conda-forge statsmodels 没有出现错误。


0

尝试

pip install --pre --extra-index https://pypi.anaconda.org/scipy-wheels-nightly/simple scikit-learn

适用于Python版本3.10或更高版本。


0
我在安装pycocotools时遇到了类似的问题。这个答案适用于任何尝试安装pycocotools但在安装过程中遇到类似问题的人。
请尝试使用以下方法代替:
pip install pycocotools-windows

如果您正在使用conda环境,请同样使用以下命令:
conda install cython

0

我在升级macOS到最新版本后开始出现这个错误。

  • 我必须先运行xcode-select --install重新安装Xcode工具。

  • 关闭并重新打开终端窗口

然后,就能够无问题地安装pandas了。


0

我遇到了同样的问题,尽管是在一台苹果M1 MacBook Pro上。在这种情况下的解决方案是使用Miniforge而不是Anaconda,因为后者尚不支持arm64架构。


0
我遇到的问题是,一旦新版本发布,我就立即升级到了下一个Python版本。
建议:在升级之前等待至少1-2个月。
网络上的不同模块和库并不会在Python更新发布后立即更新,因此它们可能不兼容。
只需将Python版本降级到当前版本之前的版本,您就可以继续使用了。
无论您安装什么或做什么,除非开发人员更新它,否则您将无法安装该模块。

0
我的问题出在mpi4py上。我的pip安装生成了这个错误,但是通过Anaconda GUI安装该软件包解决了问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接