No se puede construir la rueda – error: comando no válido ‘bdist_wheel’

He intentado todo en esta pregunta tan relacionada: ¿Por qué no puedo crear una rueda en python?

Pero todavía me sale:

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' 

Contexto:

 $ pip --version pip 8.1.1 from /home/bdillman/proj/fashion/lib/python3.5/site-packages (python 3.5) $ python -c "import setuptools; print(setuptools.__version__)" 18.2 $ python --version Python 3.5.1 $ which python /home/bdillman/workspace/fashion/bin/python $ pip list Mako (1.0.4) MarkupSafe (0.23) peewee (2.8.0) pip (8.1.1) PyYAML (3.11) setuptools (21.0.0) wheel (0.29.0) 

Así que parece que todo está instalado y las versiones se ven bien (creo). ¿Alguien tiene ideas de cosas para verificar el diagnóstico aquí?

El comando exacto es:

 $ python setup.py bdist_wheel 

También he intentado

 $ sudo python setup.py bdist_wheel 

También he realizado la pip install --upgrade setuptools y pip install --upgrade wheel , y están actualizados.

Me sucedió esto en un Ubuntu reciente usando python3 -m venv (para el cual debe instalar python3-venv ), donde no importa cuántas veces bdist_wheel el entorno y volví a intentarlo, estaba recibiendo errores bdist_wheel instalar las dependencias para Flask.

Además de no tener venv por defecto como normal para una instalación de Python 3, por alguna razón en Ubuntu parece que también tengo que instalar explícitamente la wheel .

Para mayor claridad, lo siguiente no funcionó :

  1. python3 -m venv .
  2. . bin/activate
  3. pip install Flask

Sin embargo, lo siguiente funciona :

  1. python3 -m venv .
  2. . bin/activate
  3. pip install wheel (nunca tuve que hacer esto en, digamos, Arch Linux)
  4. pip install Flask

Resuelto. No estoy seguro de cómo, pero mi entorno virtual de Python estaba desordenado, con pip utilizando un entorno virtual diferente. Arreglé mi entorno virtual y ahora todo parece funcionar bien.

Soy nuevo en Python y en los entornos virtuales, y creo que podría haber copiado un proyecto completo que contenía un entorno virtual, luego lo edité (y me perdí algunas referencias, por ejemplo, en la parte superior del script pip).

Una cosa a tener en cuenta es que asegúrate de estar usando setuptools , no distutils .