ОШИБКА: не удалось создать колеса для scipy, которые используют PEP 517 и не могут быть установлены напрямую

Я пытаюсь установить scipy через pip на свою 64-битную плату ARMV8. Я уже установил openblas, который требуется scipy. Так что никаких проблем с этим. Когда я далpip3 install scipy --trusted-host pypi.org --trusted-host files.pythonhosted.org, У меня ошибка Не удалось построить колесо для scipy. У меня есть pip3 и pip3.5 в моем/usr/bin а остальная часть пипса в /usr/lib64/python3.5/site-packagesВ общем, у меня тоже есть пип.

Я также пытался установить scipy с помощью --no-binaryвариант, который был одним из ответов в сети. Но это дало мне ту же ошибку. Ниже я получил ошибку.

ОШИБКА:

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

30 ответов

У меня была такая же проблема с opencv-python. Что сработало для меня, так это обновление pip как:

pip3 install --upgrade pip

Примечание: я использую докер в Linux.

Я была такая же проблема. Я решил эту проблему после выполнения команды ниже

pip install --upgrade pip setuptools wheel

Моя проблема была не в scipy, а в xmlsec. Сообщение об ошибке было почти таким же:

ERROR: Could not build wheels for xmlsec which use PEP 517 and cannot be installed directly

Мне нужна была эта библиотека, потому что она была зависимостью от python3-saml. Из документации я прочитал, что они сначала устанавливают эти пакеты:

sudo apt-get install libxml2-dev libxmlsec1-dev

После этого установка python3-saml у меня сработала.

pip3 -V
pip 20.2.3

python -V
Python 3.8.0b3

Вероятно, для других библиотек ответ будет другим, но всем им нужен какой-то пакет для сборки, и вы должны найти, что это за пакет для вас.

Эта ошибка также возникает, и если вы используете новый чип M1, я боюсь, вам придется устанавливать такие пакеты, как numpyиначе. Проверить это .

непосредственно выполните pip install p5pypip install PEP517, это сделает всю работу.

Я изо всех сил пытался установить панды с Jupyter (Ubuntu), используя командуpip install pandas:

Не удалось собрать панды. ОШИБКА: не удалось построить колеса для панд, которые используют PEP 517 и не могут быть установлены напрямую.

Ниже было решение для меня:

      pip install --upgrade pip setuptools wheel

затем

      pip install pandas -i https://pypi.mirrors.ustc.edu.cn/simple/

У меня возникла эта проблема при попытке установить пакет tidyms (который зависит от scipy <= 1.4.1).

В моем случае использование python 3.8 вместо python 3.9 «решило» проблему (по крайней мере, удалось установить).

Я столкнулся с той же проблемой. Кажется, что pip использует pkg-config - если он отсутствует в вашей ОС хоста, он столкнется с этой ошибкой. Я решил:

      sudo apt-get install -y pkg-config

Затем повторно запустите pip

В моем случае я устанавливал из файла командой:

pip install -r requirements.txt

И получал эту ошибку. Я решил установить пакет индивидуально ( pip install scipy) и заменив версию Scipy, которая была у меня в requirements.txt с тем, который работал.

Если вы используете Mac, это может быть связано с лицензионным соглашением Xcode.
Попробуйте ниже в терминале.

sudo xcodebuild -license

Были похожие проблемы. Мне пришлось установить некоторую ОС, и после этого я смог установить отсутствующие пакеты scikit (scikit-sparse в моем случае)

      sudo apt-get install libsuitesparse-dev

Если вы используете ОС Windows, проверьте в меню «Пуск»> «Параметры»> «Обновление и безопасность»> «Безопасность Windows»> «Защита от вирусов и угроз»> «История защиты», определяет ли Windows файл для установки PyInstaller с помощью Pip как потенциальное вредоносное ПО и тем самым блокирует его. Работал у меня.

      ERROR: Failed building wheel for h5py
Failed to build h5py
ERROR: Could not build wheels for h5py which use PEP 517 and cannot be installed directly

У меня была аналогичная проблема при установке Keras, проблема решена с помощью следующих шагов:

  1. conda установить h5py

  2. pip install keras

Попробуйте установить версию заказа. У меня была такая же проблема с использованием Python 3.10. Я просто понизил его до Python 3.9.7 и работал нормально

Эта ошибка возникла у меня при попытке pip3 install aws-sam-cli awscli на macOS 11.5.2 (чип M1).

Добавление следующих двух строк сработало для меня

      dnf install -y python3-devel
dnf group install -y "Development Tools"

Полный Dockerfile

      FROM centos:8

RUN dnf upgrade -y && \
    dnf module -y install nodejs:14 && \
    dnf install -y python3 python3-devel git-all && \
    dnf group install -y "Development Tools" && \
    pip3 install --upgrade pip setuptools && \
    pip3 install aws-sam-cli awscli

В моем случае я просто использовал определенную версию Python, например 3.8, для своего базового образа вместо последней.

До: FROM python:3

После: FROM python:3.8

Проблема решена для меня

если вы находитесь в среде conda, то вам следует использовать:

conda install scipy

потому что conda установит все необходимые зависимости и обеспечит успешное построение.

У меня была такая же проблема с Django Rest Framework в Docker (работает на M1 Mac), и мне помогло добавление

RUN pip install --upgrade pip

непосредственно перед установкой всех зависимостей проекта.

для последнего типа Mac M1 перед созданием virtualenv переключите zsh на тип x86

шаг 1: команда:>> arch -x86_64 zsh проверьте:>> uname -m (вывод будет x86_64, который раньше был arm64)

      step 2: brew install openblas
export OPENBLAS=$(brew --prefix openblas)
export CFLAGS="-falign-functions=8 ${CFLAGS}"
pip install Cython pybind11 pythran
pip install --no-use-pep517 scipy

(нет необходимости после шага 1: --no-use-pep517)

после этого все нормально

Лично я избавляюсь от этой ошибки, изменяя #!/usr/bin/env python3.9 к #!/usr/bin/env python3 в файле, расположенном в ~ / .poetry / bin / pory и запущенном pip3 install --upgrade pip setuptools wheel по-видимому, у python3.9 возникли трудности с поэзией.

Я использую процессор на базе Windows x64. до сих пор я не нашел решения по этому вопросу. я пробовал все выше, но не работал на меня.

но да, попробовав сотни раз, я нашел решение. я понизил версию Python с 3.10.0 до 3.8.10, и теперь все в порядке

Простая установка зависимого сбойного пакета (в вашем случае scipy) отдельно исправит проблему.

      python3 -m pip install scipy

за которым следует pip, устанавливающий пакет, который вы пытались использовать в первую очередь.

Я начал получать эту ошибку после обновления macOS до последней версии.

  • Мне пришлось переустановить инструменты Xcode, запустив xcode-select --install первый.

  • Закройте и снова откройте окно терминала

И затем смог установить панды без каких-либо проблем.

Пытаться

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

для Python версии 3.10 или выше.

Моя проблема была с mpi4py. Моя установка pip вызвала эту ошибку, но установка пакета через графический интерфейс Anaconda помогла.

У меня была такая же проблема, и я решил ее, установив модуль с помощью conda. В моем случае conda install -c conda-forge statsmodels работала без ошибок.

Проблема, с которой я столкнулся, заключалась в том, что я обновился до следующей версии Python, как только она была выпущена.

Совет: подождите как минимум 1-2 месяца перед обновлением.

Различные модули и библиотеки в Интернете не обновляются сразу после выпуска обновления Python, и, следовательно, они не будут совместимы.

Просто понизьте версию своей версии Python до версии, предшествующей текущей, и все будет в порядке.

Независимо от того, что вы устанавливаете или что делаете, вы не сможете установить модуль, если разработчики не обновят его.

Я столкнулся с той же проблемой, хотя и на Apple M1 Macbook Pro. Решением в этом случае было использование Miniforge вместо Anaconda, потому что последняя еще не поддерживает архитектуру arm64.

Пытаться:

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

Потом:

      pip install couchbase

Столкнулся с похожей проблемой при установке. Этот ответ для тех, кто пытался установить pycocotoolsно столкнулся с подобной проблемой при установке.

Попробуйте использовать это вместо этого:

      pip install pycocotools-windows

Если вы используете среду conda, используйте и это:

      conda install cython
Другие вопросы по тегам