Bug 1739775 - error: invalid command 'bdist_wheel'
Summary: error: invalid command 'bdist_wheel'
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: pyproject-rpm-macros
Version: 31
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Patrik Kopkan
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-08-10 11:25 UTC by Igor Raits
Modified: 2019-08-20 13:46 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2019-08-20 13:46:00 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Igor Raits 2019-08-10 11:25:39 UTC
Description of problem:
+ /usr/bin/python3 -m pip wheel --no-deps --use-pep517 --no-build-isolation --disable-pip-version-check --progress-bar off --verbose .
Created temporary directory: /tmp/pip-ephem-wheel-cache-kozhq5re
Created temporary directory: /tmp/pip-req-tracker-qr1wq3pu
Created requirements tracker '/tmp/pip-req-tracker-qr1wq3pu'
Created temporary directory: /tmp/pip-wheel-1mbah4vn
Processing /home/brain/rpmbuild/BUILD/portalocker-1.5.1
  Created temporary directory: /tmp/pip-req-build-9guvksmi
  Added file:///home/brain/rpmbuild/BUILD/portalocker-1.5.1 to build tracker '/tmp/pip-req-tracker-qr1wq3pu'
    Preparing wheel metadata: started
    Running command /usr/bin/python3 /usr/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpb70x7ycq
    running dist_info
    creating /tmp/pip-req-build-9guvksmi/pip-wheel-metadata/portalocker.egg-info
    writing /tmp/pip-req-build-9guvksmi/pip-wheel-metadata/portalocker.egg-info/PKG-INFO
    writing dependency_links to /tmp/pip-req-build-9guvksmi/pip-wheel-metadata/portalocker.egg-info/dependency_links.txt
    writing requirements to /tmp/pip-req-build-9guvksmi/pip-wheel-metadata/portalocker.egg-info/requires.txt
    writing top-level names to /tmp/pip-req-build-9guvksmi/pip-wheel-metadata/portalocker.egg-info/top_level.txt
    writing manifest file '/tmp/pip-req-build-9guvksmi/pip-wheel-metadata/portalocker.egg-info/SOURCES.txt'
    reading manifest file '/tmp/pip-req-build-9guvksmi/pip-wheel-metadata/portalocker.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    writing manifest file '/tmp/pip-req-build-9guvksmi/pip-wheel-metadata/portalocker.egg-info/SOURCES.txt'
    creating '/tmp/pip-req-build-9guvksmi/pip-wheel-metadata/portalocker.dist-info'
    error: invalid command 'bdist_wheel'
    Preparing wheel metadata: finished with status 'error'
Cleaning up...
  Removing source in /tmp/pip-req-build-9guvksmi
Removed file:///home/brain/rpmbuild/BUILD/portalocker-1.5.1 from build tracker '/tmp/pip-req-tracker-qr1wq3pu'
Removed build tracker '/tmp/pip-req-tracker-qr1wq3pu'
ERROR: Command "/usr/bin/python3 /usr/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpb70x7ycq" failed with error code 1 in /tmp/pip-req-build-9guvksmi
Exception information:
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/pip/_internal/cli/base_command.py", line 178, in main
    status = self.run(options, args)
  File "/usr/lib/python3.7/site-packages/pip/_internal/commands/wheel.py", line 164, in run
    resolver.resolve(requirement_set)
  File "/usr/lib/python3.7/site-packages/pip/_internal/resolve.py", line 131, in resolve
    self._resolve_one(requirement_set, req)
  File "/usr/lib/python3.7/site-packages/pip/_internal/resolve.py", line 296, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/usr/lib/python3.7/site-packages/pip/_internal/resolve.py", line 244, in _get_abstract_dist_for
    self.require_hashes
  File "/usr/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 362, in prepare_linked_requirement
    abstract_dist.prep_for_dist(finder, self.build_isolation)
  File "/usr/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 171, in prep_for_dist
    self.req.prepare_metadata()
  File "/usr/lib/python3.7/site-packages/pip/_internal/req/req_install.py", line 537, in prepare_metadata
    self.prepare_pep517_metadata()
  File "/usr/lib/python3.7/site-packages/pip/_internal/req/req_install.py", line 582, in prepare_pep517_metadata
    metadata_dir
  File "/usr/lib/python3.7/site-packages/pip/_vendor/pep517/wrappers.py", line 86, in prepare_metadata_for_build_wheel
    'config_settings': config_settings,
  File "/usr/lib/python3.7/site-packages/pip/_vendor/pep517/wrappers.py", line 155, in _call_hook
    extra_environ={'PEP517_BUILD_BACKEND': build_backend}
  File "/usr/lib/python3.7/site-packages/pip/_internal/req/req_install.py", line 520, in runner
    spinner=spinner
  File "/usr/lib/python3.7/site-packages/pip/_internal/utils/misc.py", line 786, in call_subprocess
    % (command_desc, proc.returncode, cwd))
pip._internal.exceptions.InstallationError: Command "/usr/bin/python3 /usr/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmpb70x7ycq" failed with error code 1 in /tmp/pip-req-build-9guvksmi
error: Bad exit status from /var/tmp/rpm-tmp.SaidY2 (%build)

Version-Release number of selected component (if applicable):
pyproject-rpm-macros-0-4.fc31.noarch

How reproducible:
Always.

---

%global srcname portalocker

Name:           python-%{srcname}
Version:        1.5.1
Release:        1%{?dist}
Summary:        Library to provide an easy API to file locking

License:        Python
URL:            https://github.com/WoLpH/portalocker
Source:         %{pypi_source}

BuildArch:      noarch

BuildRequires:  pyproject-rpm-macros

%description
%{summary}.

%package -n python3-%{srcname}
Summary:        %{summary}
%{?python_provide:%python_provide python3-%{srcname}}

%description -n python3-%{srcname}
%{summary}.

Python 3 version.

%prep
%autosetup -n %{srcname}-%{version}
rm -vr *.egg-info

%build
%pyproject_wheel

%install
%pyproject_install

%files -n python3-%{srcname}
%license LICENSE
%doc README.rst
%{python3_sitelib}/%{srcname}/
%{python3_sitelib}/%{srcname}-*.egg-info/

Comment 1 Miro Hrončok 2019-08-10 13:21:24 UTC
If you don't use %pyproject_buildrequires in %generate_buildrequires, you need to specify build dependencies manually. In this case, you need to add:

BuildRequires:  python3-setuptools
BuildRequires:  python3-wheel


Note that python3-setuptools is currently transitively pulled by python3-devel, but that's not supposed to be relied upon.

Also note that %pyproject_wheel will run different commands under the hood based on pyproject.toml, so adding a fixed dependency on wheel is not the right thing to do.

Comment 2 Ben Cotton 2019-08-13 17:10:25 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to 31.

Comment 3 Petr Viktorin (pviktori) 2019-08-20 13:46:00 UTC
Closing. Let us know if that was unclear!


Note You need to log in before you can comment on or make changes to this bug.