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

Пожалуйста, помогите. Опробовал большинство решений, которые я смог найти в Интернете, и в качестве последнего средства разместил его в stackoverflow.

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

C:\WINDOWS\system32>pip install pendulum Collecting pendulum   Using cached pendulum-2.1.0.tar.gz (80 kB)   Installing build dependencies ... done   Getting requirements to build wheel ... done
    Preparing wheel metadata ... done Collecting pytzdata>=2018.3   Using cached pytzdata-2019.3-py2.py3-none-any.whl (489 kB) Requirement already satisfied: python-dateutil<3.0,>=2.6 in c:\python\python38-32\lib\site-packages (from pendulum) (2.8.1) Requirement already satisfied: six>=1.5 in c:\users\cuser\appdata\roaming\python\python38\site-packages (from python-dateutil<3.0,>=2.6->pendulum) (1.14.0) Building wheels for collected packages: pendulum   Building wheel for pendulum (PEP 517) ... error   ERROR: Command errored out with exit status 1:    command: 'c:\python\python38-32\python.exe' 'c:\python\python38-32\lib\site-packages\pip\_vendor\pep517\_in_process.py' build_wheel 'C:\Users\cuser\AppData\Local\Temp\tmpkbrn91g9'
       cwd: C:\Users\cuser\AppData\Local\Temp\pip-install-q2vfs50o\pendulum   Complete output (24 lines):   Traceback (most recent call last):
    File "setup.py", line 2, in <module>
      from setuptools import setup   ModuleNotFoundError: No module named 'setuptools'   Traceback (most recent call last):
    File "c:\python\python38-32\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 257, in <module>
      main()
    File "c:\python\python38-32\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 240, in main
      json_out['return_val'] = hook(**hook_input['kwargs'])
    File "c:\python\python38-32\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 181, in build_wheel
      return _build_backend().build_wheel(wheel_directory, config_settings,
    File "C:\Users\cuser\AppData\Local\Temp\pip-build-env-nvwxlarh\overlay\Lib\site-packages\poetry\core\masonry\api.py", line 57, in build_wheel
      return unicode(WheelBuilder.make_in(poetry, Path(wheel_directory)))
    File "C:\Users\cuser\AppData\Local\Temp\pip-build-env-nvwxlarh\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 56, in make_in
      wb.build()
    File "C:\Users\cuser\AppData\Local\Temp\pip-build-env-nvwxlarh\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 82, in build
      self._build(zip_file)
    File "C:\Users\cuser\AppData\Local\Temp\pip-build-env-nvwxlarh\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 102, in _build
      self._run_build_command(setup)
    File "C:\Users\cuser\AppData\Local\Temp\pip-build-env-nvwxlarh\overlay\Lib\site-packages\poetry\core\masonry\builders\wheel.py", line 130, in _run_build_command
      subprocess.check_call(
    File "c:\python\python38-32\lib\subprocess.py", line 364, in check_call
      raise CalledProcessError(retcode, cmd)   subprocess.CalledProcessError: Command '['c:\\python\\python38-32\\python.exe', 'setup.py', 'build', '-b', 'build']' returned non-zero exit status 1.  
----------------------------------------   ERROR: Failed building wheel for pendulum Failed to build pendulum ERROR: Could not build wheels for pendulum which use PEP 517 and cannot be installed directly

The current python version and package versions are as below:

    Python 3.8.2

    Package           Version
    ----------------- -------
    astroid           2.3.3
    colorama          0.4.3
    cx-Oracle         7.3.0
    ez-setup          0.9
    isort             4.3.21
    lazy-object-proxy 1.4.3
    mccabe            0.6.1
    numpy             1.18.2
    pandas            1.0.3
    pip               20.0.2
    pylint            2.4.4
    python-dateutil   2.8.1
    pytz              2019.3
    setuptools        46.1.3
    six               1.14.0
    SQLAlchemy        1.3.15
    wheel             0.34.2
    wrapt             1.11.2


OS version:

    OS Name:                   Microsoft Windows 10 Enterprise
    OS Version:                10.0.17763 N/A Build 17763

1 Ответ

2 голосов
/ 04 мая 2020

Похоже, это результат двух ошибок в настройке маятника.

Первая ошибка заключается в том, что колеса Windows имеют неправильное имя. См. https://github.com/sdispater/pendulum/issues/456.

Поэтому Пип пытается вернуться к зданию из источника. Я не уверен, что именно здесь не так, но в Pendulum что-то неправильно настроено, так что установка не работает с современными версиями Pip. См. https://github.com/sdispater/pendulum/issues/454.

Существует два обходных решения:

  1. Downgrade Pip до версии 18.1. Лично для меня это сработало.
  2. Установите Poetry в среду вашего проекта, а затем установите Pendulum с параметром --no-build-isolation, как описано здесь @Wes: https://github.com/sdispater/pendulum/issues/454#issuecomment -605519477

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...