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


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, Command에 from 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.