파이썬에서 왜 바퀴를 만들 수 없습니까?


190

내가 실행중인 명령은 다음과 같습니다.

$ 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

또한, 나는 집에서 만든 파이썬으로 맥을 실행하고 있습니다.

여기 내 setup.py 스크립트가 있습니다 : https://gist.github.com/cloudformdesign/4791c46fe7cd52eb61cd

나는 절대적으로 미쳤어-왜 이것이 작동하지 않는지 알 수 없다.


2
그리고 wheelThomas의 답변에서 알 수 있듯이 패키지를 설치 했습니까?
Martijn Pieters

1
나도 같은 문제가있어. 그러나 나는 칭찬 전에 sudo를 사용하지 않은 것 같습니다. 관리자 권한으로 추천서를 사용한 후 효과가있었습니다.
헌터

답변:


301

wheel패키지를 먼저 설치하십시오 .

pip install wheel

이에 대한 문서는 명확하지 않지만 "wheel 프로젝트는 setuptools에 bdist_wheel 명령을 제공합니다"는 실제로 "wheel package ..."를 의미 합니다.


1
그래서 파일을 뱉어 내십시오 : nioblocks-1.01-cp34-cp34m-macosx_10_9_x86_64.whl-이것은 모든 OS에서 작동합니까, 아니면 작동시키기 위해해야 ​​할 일이 있습니까? ( "패키지"는 pip가 현재 설치해야 할 많은 의존성입니다)
vitiral

1
@GarrettLinux 모르겠다. 죄송하지만, 별도의 질문을하실 것을 권합니다. )
Thomas Orozco

1
setup.py 파일에 파일을 추가하면 일반적인 바퀴가되었습니다. 예를 들어 내 질문에서 업데이트 된 코드를 확인하십시오.
vitiral

setup.py가 어떻게 든 setuptools 대신 distutils를 사용하는 경우 휠이 설치되어 있어도 OP의 오류를 얻을 수 있습니다 (제 경우와 같이). geographika의 답변을 참조하십시오.
Oliver

4
나에게 문제는 이전 버전의 pip였습니다. pip install --upgrade pip
Ryu_hayabusa가

167

나는 또한 오류 메시지에 부딪쳤다 invalid command 'bdist_wheel'

setup.py 패키지는 setuptools 대신 distutils를 사용했습니다. 다음과 같이 변경하면 휠을 만들 수있었습니다.

#from distutils.core import setup
from setuptools import setup

1
그래, 나도 한 번에 그 문제가 있었다! 매우 중요하며 오류 메시지가 좋지 않습니다.
vitiral

@geographika yes 이것은 명령이기도합니다. docs.python.org/2/distutils/setupscript.html 의 문서는 disutils 를 사용할 때보고있는 문제를 복제합니다.
JamesD

3
또한 변경해야 할 수도 있습니다 from distutils.core import Extension, Commandfrom setuptools import Extension, Command적어도 패키지 내가 작업을했다.
eseglem

pycrypto에 대해이 오류가 발생하여 설정을 가져 오지 않았습니다. 그러나 from setuptools import setup처음에 추가 하여 문제를 해결했습니다.
haridsv

38

setuptools도 업데이트하십시오.

pip install setuptools --upgrade

이것도 실패하면 추가 --force플래그를 사용해 볼 수 있습니다.


1
내 setuptools가 제거되었거나 무언가 잘못되었습니다. pip install setuptools --upgrade --force
nycynik

12

또한 이전에 작동 한 후에 갑자기이 문제에 부딪 쳤으며 virtualenv 내부에 있었고 virtualenv에 wheel설치되지 않았기 때문 입니다.


8

pip첫 번째 업데이트 :

pip install --upgrade pip

파이썬 3의 경우 :

pip3 install --upgrade pip

이것이 가장 유용한 답변입니다. PIP의 최신 버전은 그래서 그냥 / 업데이트 setuptools에 또는 휠 설치 할 필요없이, 핍은 나를 위해 일한 업그레이드, bdist_wheel를 사용하지 않는 설치
theferrit32

4

python3 시스템 만있을 수도 있습니다. 따라서 pip3 install wheel 과 같은 pip3 install을 통해 필요한 패키지를 설치했습니다 .

python3을 사용하여 물건을 만들어야합니다.

python3 setup.py sdist
python3 setup.py bdist_wheel

건배.


4

다른 답변을 던지는 경우 :을 확인하십시오 PYTHONPATH.

먼저 wheel다시 설치 하십시오.

pip install wheel

휠이 설치된 위치를 알려줍니다. 예 :

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

그런 다음 휠 위치를 다음에 추가하십시오 PYTHONPATH.

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

이제 바퀴를 만드는 것이 잘 작동합니다.

python setup.py bdist_wheel

2

나는 운이없이 여기에서 모든 것을 시도했지만 해결 방법을 찾았습니다. 이 명령을 실행하고 실패한 후 :bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

도구가 작성한 임시 디렉토리 (마지막 명령의 출력에 제공됨)로 이동 한 다음를 실행하십시오 python setup.py bdist_wheel. .whl파일이있는 dist폴더를 선택합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.