[python] python setup.py가 Travis CI에서 잘못된 명령 ‘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'

이것은 왜 파이썬에서 바퀴를 만들 수 없습니까? 관련되어 있지만 휠을 설치하고 setuptools를 업그레이드하고 있습니다.



답변

wheel패키지 를 설치해야했습니다 . 모든 것이 최신이지만 여전히 오류가 발생합니다.

pip install wheel

그때

python setup.py bdist_wheel 

문제없이 일했습니다.


답변

pip install wheel

나를 위해 일했지만 이것을 추가 할 수도 있습니다

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

setup.py하고 pip install 명령을 저장하십시오.


답변

2020 년 1 월

2 시간이 낭비되었습니다.

AWS의 Ubuntu 18.04 new machine경우 아래 설치가 필요합니다.

sudo apt-get install gcc libpq-dev -y
sudo apt-get install python-dev  python-pip -y
sudo apt-get install python3-dev python3-pip python3-venv python3-wheel -y
pip3 install wheel

특히 마지막 줄은 필수입니다.
그러나 전제 조건으로 3 줄이 필요할 수 있습니다.

희망이 도움이됩니다.


답변

이 문제는 다음으로 인해 발생합니다.

  • 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


답변

필요한 모든 모듈이 이미 설치되어 있으면 파일로 setuptools모듈 을 가져와야 setup.py합니다. 따라서 setup.py파일 맨 앞에 다음 줄을 추가 하십시오.

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

이것은 wheel의 문서에도 언급되어 있습니다. https://wheel.readthedocs.io/en/stable/#usage


답변

이 오류는 많은 제안 된 답변과 혼합 솔루션으로 이상합니다. 나는 그들을 시도하고 추가했다. pip install --upgrade pip마지막으로 추가했을 때만 오류가 제거되었습니다. 그러나 나는 어느 것을 분리 할 시간이 없으므로 이것은 단지 fyi입니다.


답변

필자의 경우 venv에서 만든 wheel / pip / setuptools 버전이 너무 오래되었습니다. 이것은 작동합니다 :

venv/bin/pip  install --upgrade pip wheel setuptools