Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to fix `error: invalid command 'bdist_wheel'`?

Tags:

I try to install watchman on Ubuntu 20.04.01:

guettli@yoga15:~/tmp$ python3 -m venv pywatchman-test
guettli@yoga15:~/tmp$ cd pywatchman-test
guettli@yoga15:~/tmp/pywatchman-test$ . bin/activate

(pywatchman-test) guettli@yoga15:~/tmp/pywatchman-test$ pip install pywatchman

Fails:

Collecting pywatchman
  Using cached pywatchman-1.4.1.tar.gz (29 kB)
Building wheels for collected packages: pywatchman
  Building wheel for pywatchman (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/guettli/tmp/pywatchman-test/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-on_zbadt/pywatchman/setup.py'"'"'; __file__='"'"'/tmp/pip-install-on_zbadt/pywatchman/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-9np2rv_b
       cwd: /tmp/pip-install-on_zbadt/pywatchman/
  Complete output (6 lines):
  usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
     or: setup.py --help [cmd1 cmd2 ...]
     or: setup.py --help-commands
     or: setup.py cmd --help
  
  error: invalid command 'bdist_wheel'
  ----------------------------------------
  ERROR: Failed building wheel for pywatchman
  Running setup.py clean for pywatchman
Failed to build pywatchman
Installing collected packages: pywatchman
    Running setup.py install for pywatchman ... done
Successfully installed pywatchman-1.4.1

I found a way to solve this: If I uninstall pywatchman and install wheel it works fine.

I would like to create a patch for watchman, so that this works right of the box.

How could this be solved, so that in future this does not happen any more?

Related: https://github.com/facebook/watchman/issues/876

like image 676
guettli Avatar asked Dec 13 '20 06:12

guettli


People also ask

What is python setup py bdist_wheel?

Building Wheels Building wheels from a setuptools based project is simple: python setup.py bdist_wheel. This will build any C extensions in the project and then package those and the pure Python code into a . whl file in the dist directory.

What does setup py do?

setup.py is a python file, the presence of which is an indication that the module/package you are about to install has likely been packaged and distributed with Distutils, which is the standard for distributing Python Modules. This allows you to easily install Python packages.


Video Answer


1 Answers

Running

pip install wheel

or

pip3 install wheel

solved the issue for me

like image 169
Vzzarr Avatar answered Sep 18 '22 07:09

Vzzarr