错误:无法为使用 PEP 517 且无法直接安装的摆锤构建轮子

新手上路,请多包涵

请帮忙。尝试了网上能找到的大部分解决方案,最后还是把它贴在了 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

原文由 Krishna Prasad 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.2k
1 个回答

这似乎是 Pendulum 配置中两个错误的结果。

第一个错误是 Windows 轮子的名称错误。请参阅 https://github.com/sdispater/pendulum/issues/456

因此 Pip 正试图退回到从源代码构建。我不确定这里到底出了什么问题,但在 Pendulum 中配置错误,以至于安装不适用于现代版本的 Pip。请参阅 https://github.com/sdispater/pendulum/issues/454

有两种解决方法:

  1. 将 Pip 降级到版本 18.1。这对我个人有用。
  2. 将 Poetry 安装到您的项目环境中,然后使用 --no-build-isolation 选项安装 Pendulum,如 @Wes 此处所述: https ://github.com/sdispater/pendulum/issues/454#issuecomment-605519477

我宁愿暂时降级 Pip 直到修复它,而不是弄乱我的项目环境。所以我选择了第一个选项。在解决此问题之前,您应该选择对您的工作流程更有意义的任何内容。

原文由 shadowtalker 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题