Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Please help. Tried most of the solutions I could find online, and as the last resort, posting it on stackoverflow.

The error I get while trying to install the Pendulum package is as below:

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
like image 664
Krishna Prasad Avatar asked Mar 29 '20 20:03

Krishna Prasad


2 Answers

This appears to be the result of two mistakes in how Pendulum is configured.

The first mistake is that the Windows wheels have the wrong name. See https://github.com/sdispater/pendulum/issues/456.

Therefore Pip is trying to fall back to building from source. I'm not sure what exactly is wrong here, but something is misconfigured in Pendulum such that the installation does not work with modern versions of Pip. See https://github.com/sdispater/pendulum/issues/454.

There are two workaround solutions:

  1. Downgrade Pip to version 18.1. This worked for me personally.
  2. Install Poetry into your project environment and then install Pendulum with the --no-build-isolation option, as described by @Wes here: https://github.com/sdispater/pendulum/issues/454#issuecomment-605519477

I would prefer to temporarily downgrade Pip until this is fixed, rather than make a mess of my project environment. So I went with the first option. You should choose whatever makes more sense for your workflow, until this problem is fixed.

like image 112
shadowtalker Avatar answered Sep 28 '22 18:09

shadowtalker


For now, you can try this:

pip install pendulum==2.0.5
like image 23
Mathieu Longtin Avatar answered Sep 28 '22 17:09

Mathieu Longtin