web-dev-qa-db-fra.com

Pourquoi ne puis-je pas créer une roue en python?

Voici les commandes que je lance:

$ python setup.py bdist_wheel
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'

$ pip --version
pip 1.5.6 from /usr/local/lib/python3.4/site-packages (python 3.4)

$ python -c "import setuptools; print(setuptools.__version__)"
2.1

$ python --version
Python 3.4.1

$ which python
/usr/local/bin/python

En outre, je cours un mac avec python homebrewed

Voici mon script setup.py: https://Gist.github.com/cloudformdesign/4791c46fe7cd52eb61cd

Je vais devenir complètement fou - je ne peux pas comprendre pourquoi cela ne fonctionnerait pas.

164
vitiral

Installez le paquet wheel first:

pip install wheel

La documentation n'est pas très claire à ce sujet, mais "le projet wheel fournit une commande bdist_wheel pour setuptools" signifie en réalité "la roue package ...".

274
Thomas Orozco

J'ai aussi rencontré le message d'erreur invalid command 'bdist_wheel'

Il s’avère que le paquet setup.py utilisait distutils plutôt que setuptools. Le changer comme suit m'a permis de construire la roue. 

#from distutils.core import setup
from setuptools import setup
148
geographika

Mettez à jour votre setuptools aussi .

pip install setuptools --upgrade

Si cela échoue aussi, vous pouvez essayer avec l'indicateur --force supplémentaire.

34
luckydonald

Je me suis aussi retrouvé tout à coup, après que cela ait fonctionné, et c’est parce que j’étais dans un virtualenv, et que wheel n’était pas installé dans virtualenv.

11
jbg

Mettez à jour votre pip en premier:

pip install --upgrade pip

pour Python 3:

pip3 install --upgrade pip
4
Tombart

Il se peut également que vous ayez un système python3 uniquement. Vous avez donc installé les paquets nécessaires via pip3 install, comme pip3 install wheel .

Vous aurez besoin de construire vos fichiers en utilisant spécifiquement python3.

python3 setup.py sdist
python3 setup.py bdist_wheel

À votre santé.

3
Bart Dorlandt

J'ai essayé tout ce qui est dit ici sans aucune chance, mais j'ai trouvé une solution de contournement . Après avoir exécuté cette commande (et échoué): bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

Accédez au répertoire temporaire créé par l'outil (indiqué dans le résultat de la dernière commande), puis exécutez python setup.py bdist_wheel. Le fichier .whl se trouve dans le dossier dist.

2
Aigrefin

Ajout d'une autre réponse: essayez de vérifier votre PYTHONPATH.

Commencez par essayer d'installer wheel à nouveau:

pip install wheel

Cela devrait vous dire où la roue est installée, par exemple:

Requirement already satisfied: wheel in /usr/local/lib/python3.5/dist-packages

Ajoutez ensuite l’emplacement de la roue à votre PYTHONPATH:

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python3.5/dist-packages/wheel

Maintenant, construire une roue devrait bien fonctionner.

python setup.py bdist_wheel
1
avidreader610