【问题标题】:installing spaCy with pip failed with error "Failed building wheel for blis"使用 pip 安装 spaCy 失败,并出现错误“为 blis 构建轮子失败”
【发布时间】:2020-05-12 04:25:55
【问题描述】:

尝试使用 pip 安装 spaCy(版本 20.0.2)

但出现如下错误

gcc -c /tmp/pip-install-f2b27qwm/blis/blis/_src/kernels/zen/1/bli_amaxv_zen_int.c -o /tmp/tmpu1wg8fg1/bli_amaxv_zen_int.o -O3 -mavx2 -mfma -mfpmath=sse -march=core-avx2 -fPIC -std=c99 -D_POSIX_C_SOURCE=200112L -DBLIS_VERSION_STRING="0.5.1" -DBLIS_IS_BUILDING_LIBRARY -Iinclude/linux-x86_64 -I./frame/3/ -I./frame/ind/ukernels/ -I./frame/1m/ -I./frame/1f/ -I./frame/1/ -I./frame/include -I/tmp/pip-install-f2b27qwm/blis/blis/_src/include/linux-x86_64
    gcc: error: unrecognized command line option '-mavx2'
    gcc: error: unrecognized command line option '-mfma'
    gcc: error: unrecognized command line option '-mfpmath=sse'
    gcc: error: unrecognized command line option '-march=core-avx2'
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-f2b27qwm/blis/setup.py", line 277, in <module>
        "Topic :: Scientific/Engineering",
      File "/home/{user_name}/.conda/envs/ncn/lib/python3.7/site-packages/setuptools/__init__.py", line 145, in setup
        return distutils.core.setup(**attrs)
      File "/home/{user_name}/.conda/envs/ncn/lib/python3.7/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/home/{user_name}/.conda/envs/ncn/lib/python3.7/distutils/dist.py", line 966, in run_commands
        self.run_command(cmd)
      File "/home/{user_name}/.conda/envs/ncn/lib/python3.7/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/home/{user_name}/.conda/envs/ncn/lib/python3.7/site-packages/wheel/bdist_wheel.py", line 192, in run
        self.run_command('build')
      File "/home/{user_name}/.conda/envs/ncn/lib/python3.7/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/home/{user_name}/.conda/envs/ncn/lib/python3.7/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/home/{user_name}/.conda/envs/ncn/lib/python3.7/distutils/command/build.py", line 135, in run
        self.run_command(cmd_name)
      File "/home/{user_name}/.conda/envs/ncn/lib/python3.7/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/home/{user_name}/.conda/envs/ncn/lib/python3.7/distutils/dist.py", line 985, in run_command
        cmd_obj.run()
      File "/home/{user_name}/.conda/envs/ncn/lib/python3.7/distutils/command/build_ext.py", line 340, in run
        self.build_extensions()
      File "/tmp/pip-install-f2b27qwm/blis/setup.py", line 103, in build_extensions
        objects = self.compile_objects(compiler.split("-")[0], arch, OBJ_DIR)
      File "/tmp/pip-install-f2b27qwm/blis/setup.py", line 188, in compile_objects
        objects.append(self.build_object(env=env, **spec))
      File "/tmp/pip-install-f2b27qwm/blis/setup.py", line 201, in build_object
        subprocess.check_call(command, cwd=BLIS_DIR)
      File "/home/{user_name}/.conda/envs/ncn/lib/python3.7/subprocess.py", line 347, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '['gcc', '-c', '/tmp/pip-install-f2b27qwm/blis/blis/_src/kernels/zen/1/bli_amaxv_zen_int.c', '-o', '/tmp/tmpu1wg8fg1/bli_amaxv_zen_int.o', '-O3', '-mavx2', '-mfma', '-mfpmath=sse', '-march=core-avx2', '-fPIC', '-std=c99', '-D_POSIX_C_SOURCE=200112L', '-DBLIS_VERSION_STRING="0.5.1"', '-DBLIS_IS_BUILDING_LIBRARY', '-Iinclude/linux-x86_64', '-I./frame/3/', '-I./frame/ind/ukernels/', '-I./frame/1m/', '-I./frame/1f/', '-I./frame/1/', '-I./frame/include', '-I/tmp/pip-install-f2b27qwm/blis/blis/_src/include/linux-x86_64']' returned non-zero exit status 1.
    ----------------------------------------
    ERROR: Failed building wheel for blis
    Running setup.py clean for blis 
  Failed to build numpy blis
  ERROR: Could not build wheels for numpy which use PEP 517 and cannot be installed directly
  ----------------------------------------
ERROR: Command errored out with exit status 1: /home/{user_name}/.conda/envs/ncn/bin/python /home/{user_name}/.conda/envs/ncn/lib/python3.7/site-packages/pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-3j47_tuc/normal --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'cython>=0.25' 'thinc<7.4.0,>=7.3.0' 'preshed<3.1.0,>=3.0.2' 'murmurhash<1.1.0,>=0.28.0' wheel 'cymem<2.1.0,>=2.0.2' Check the logs for full command output.

好像有numpy的问题

但我在安装 pytorch(1.12.0) 时已经安装了 numpy(1.16.5)

一些stackoverflow解决方案没有解决问题 (Python Cannot install module spaCy) (Failed building wheel for spacy)

因为我的机器在 ppc64le、IBM watson 机器上运行。 所以我的机器没有轮子。 有几个包可用 (https://public.dhe.ibm.com/ibmdl/export/pub/software/server/ibm-ai/conda/#/) 但 spaCy 不是其中之一。

安装 spaCy 应该怎么做?

【问题讨论】:

  • 你为什么用pip而不是conda
  • @FlyingTeller 我试过 'conda' 但它只有 spacy 2.0.16 版本,虽然我的系统需要 2.1.6 版本
  • 我面临同样的问题,但在 Raspberry Pi 4 上。请有人帮忙

标签: pip spacy powerpc


【解决方案1】:

您可以在最近添加的 powerai 补充频道中安装为 ppc64le 编译的 spacy 2.2.1 版本。

conda install -c powerai spacy

您也可以git clone https://github.com/IBM/powerai 并将https://github.com/IBM/powerai/blob/master/conda-recipes/spacy-feedstock/recipe/meta.yaml#L2-L3 修改为版本 2.1.6,然后如果您需要该特定版本,您可以自己 conda-build 包。 (然后您将从conda-recipes/spacy-feedstock 目录运行 conda-build 以生成 conda 包)

【讨论】:

    【解决方案2】:

    看起来该软件包正在尝试使用 x86 特定标志构建代码:-mavx、使用 SSE 的标志等。您应该就此联系软件包作者:他们将需要更改其软件包以不使用这些标志在 x86 以外的平台上。

    【讨论】:

    • 也许吧,但我不知道会是什么。您可以查看代码:查看 2.0.16 和当前版本之间的变化将是很好的第一步。否则你需要问作者,或者其他人会知道。
    猜你喜欢
    • 2017-09-05
    • 2021-05-23
    • 2022-07-09
    • 2022-01-23
    • 2016-04-04
    • 2017-05-16
    • 1970-01-01
    • 2016-11-14
    • 2013-10-08
    相关资源
    最近更新 更多