web-dev-qa-db-ja.com

Travis CIでpython setup.pyが無効なコマンド 'bdist_wheel'を言っているのはなぜですか?

私のPythonパッケージにはsetup.pyがあり、これはローカルでUbuntu Trusty上に、そして新鮮なVagrant Ubuntu Trusty VM上に構築されています。

Sudo apt-get install python python-dev --force-yes --assume-yes --fix-broken
curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | Sudo python2.7
Sudo -H pip install setuptools wheel virtualenv --upgrade

しかし、私がTravis CI Trusty Beta VMで同じことをすると、

- Sudo apt-get install python python-dev --force-yes --assume-yes --fix-broken
- curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | Sudo python2.7
- Sudo -H pip install setuptools wheel virtualenv --upgrade

私は得ます:

python2.7 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'

これは なぜPythonでホイールを作成できないのですか? は関連していますが、wheelをインストールしてsetuptoolsをアップグレードしていることに注意してください。

123
nokome

この問題は次の原因があります。

  • python 2.7用にインストールされた古いバージョンのpip(6.1.1)
  • trusty BetaイメージにインストールされたPython 2.7の複数のコピー
  • python 2.7がSudoに使用されていた場所が異なる

これはすべて少し複雑で、ここで詳しく説明しています https://github.com/travis-ci/travis-ci/issues/4989 .

私の解決策はtravisではなくユーザーSudoでインストールすることでした:

- pip2.7 install --upgrade --user travis pip setuptools wheel virtualenv
35
nokome

wheelパッケージをインストールしなければなりませんでした。すべてが最新の状態ですが、それでもエラーが発生しています。

pip install wheel

それから

python setup.py bdist_wheel 

問題なく動作しました。

191
frmdstryr

必要なモジュールがすべてインストールされている場合は、おそらくsetuptoolsモジュールをsetup.pyファイルにインポートする必要があります。 setup.pyファイルの先頭に次の行を追加するだけです。

import setuptools
from distutils.core import setup
# other imports and setups

これはwheelのドキュメントにも記載されています。 https://wheel.readthedocs.io/en/stable/#usage

20
Kasrâmvd

このエラーは多くの提案された回答と変わった解決策を得たので奇妙です。私はそれらを試してみました、それらを追加します。 pip install --upgrade pipを付け加えたときに、ついにエラーが取り除かれました。しかし、私はどれがどれであるかを特定する時間がないので、これは単なるファイです。

19
typelogic
pip install wheel

私のために働いたが、あなたもこれを追加することができます

setup(
    ...
    setup_requires=['wheel']
)

setup.pyに移動してpip installコマンドを自分で保存する

15

既にwheelがインストールされているので、アンインストールして再インストールしようとしましたが、問題は解決しました。

pip uninstall wheel
pip install wheel

変な...

8
Jerther

私の修正はapt install python3-devでした

3
7029279

Travis CIとは関係ありませんが、Mac OSX 10.8.5にjupiterをインストールしようとすると同様の問題が発生しましたが、他の回答は役に立ちませんでした。この問題は、pyzmqと呼ばれるパッケージの「ホイール」を構築することで発生し、エラーメッセージは数百ページに渡りました。

私が見つけた解決策は、そのパッケージの古いバージョンを直接インストールすることでした:

python -m pip install pyzmq==17 --user

その後、jupyterのインストールはエラーなしで成功しました。

0
Dmitri Zaitsev

Distutils.coreの代わりにsetuptoolsからsetupをインポートしてsetup.pyファイルを修正してみてください。

0
Shubham Laddha