source

python setup.py이 Travis CI에서 잘못된 명령어 'bdist_wheel'이라고 말하는 이유는 무엇입니까?

factcode 2023. 1. 9. 21:13
반응형

python setup.py이 Travis CI에서 잘못된 명령어 'bdist_wheel'이라고 말하는 이유는 무엇입니까?

내 Python 패키지에는setup.pyUbuntu 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 베타 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에서 휠을 만들없는가?관련이 있지만 휠을 설치하고 setuptools를 업그레이드하고 있습니다.

를 인스톨 할 필요가 있었다.wheel패키지.모든 것이 최신 상태였지만 여전히 오류가 발생했습니다.

pip install wheel

그리고나서

python setup.py bdist_wheel 

문제없이 작동했습니다.

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 행이 필요하게 되는 경우가 있습니다.

pip install wheel

제 경우엔 효과가 있었습니다만, 이것도 추가할 수 있습니다.

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

setup.py에 접속하여 pip install 명령어를 저장합니다.

필요한 모듈이 이미 모두 설치되어 있는 경우 아마 Import가 필요할 수 있습니다.setuptools의 모듈setup.py파일입니다. 그러니 다음 행을 추가해 주세요.setup.py파일.

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

이는 휠 설명서에도 언급되어 있습니다.https://wheel.readthedocs.io/en/stable/ #syslog

이 문제의 원인은 다음과 같습니다.

  • Python 2.7용으로 설치되는 이전 버전의 pip(6.1.1)
  • Trusty 베타 이미지에 설치된 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

제 경우, venv가 만든 휠/슬롯/셋툴의 버전이 너무 오래되었습니다.이 기능은 다음과 같습니다.

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

이 에러는, 많은 회답이 제안되어 혼재하고 있어 이상합니다.나도 해봤어, 추가해내가 덧붙였을 때야pip install --upgrade pip드디어 오류를 없앴습니다.하지만 격리시킬 시간이 없어요 그래서 이건 그냥 fyi에요

고객님의 고객명setup.py다음과 같은 경우:

from distutils.core import setup

그럼, 로 변경해 주세요.

from setuptools import setup

그런 다음 virtualenv를 다시 만들고 명령을 다시 실행하면 작동합니다.

나는 이미 가지고 있었다.wheel인스톨 되어 있기 때문에, 언인스톨과 재인스톨을 시도했더니, 다음의 문제가 해결되었습니다.

pip uninstall wheel
pip install wheel

이상해...

제가 고친 건apt install python3-dev

아마도 당신의 pip 버전이 오래되었을 것입니다.새로 생성된 가상 환경에 모듈을 설치하는 동안 WSL에서도 동일한 문제가 발생했습니다.다음 명령을 실행하여 해결할 수 있었습니다.

$ ./bin/python3 -m pip install --upgrade pip 

apt-get install python3-dev에 우분투 추가.setup_requires=["wheel"]setup.py

distutils.core가 아닌 setuptools에서 setup을 Import하여 setup.py 파일을 변경해 보십시오.

★★★★★★★★★를 사용하고 있는 경우는setup.cfg 「」, 「」, 「」, 「」, 「」의 앞에 추가합니다.install_require 삭제:

setup_requires =
    wheel

setup.cfg 프로젝트의 예:

# setup.py
from setuptools import setup

setup()
# setup.cfg
[metadata]
name = name
version = 0.0.1
description = desc
long_description = file: README.md
long_description_content_type = text/markdown
url = url
author = author
classifiers =
    Programming Language :: Python
    Programming Language :: Python :: 3

[options]
include_package_data = true
packages = find:
setup_requires =
    wheel
install_requires =
    packages
    packages
    packages

여기서의 지시를 따르는 데 도움이 되었습니다.

https://packaging.python.org/guides/installing-using-linux-tools/

데비안/우분투

Python 2:

sudo apt install python-pip

Python 3:

sudo apt install python3-venv python3-pip

하면 Ubuntu 18.04를 설치하면 이 를 해결할 수 .python3-wheel★★★★★★★★★★★★★★★★★★.

일반적으로 이것은 Python 패키지에 종속되어 설치됩니다. 때 은 but히 you 、 히 but but but but but but but but but but but but but but but but but but but but but but but but but but but 。--no-install-recommends이 때문에, 대부분의 경우, 수동으로 인스톨 할 필요가 있습니다.

만약 위의 어느 것도 당신에게 효과가 없다면, 당신은 나와 같은 문제를 겪고 있을 것입니다.는, 「 」 「 」 「 」 「 」 「 」 「 」 「 」 「 」 「 」를 인스톨 했을 때 밖에 .pyspark해결방법은 pyspark를 설치할 수 없는 다른 스택오버플로우 질문에 설명되어 있습니다.

B이에서는, 제 「B/C」, 「B/C」, 「B/C」, 「B/C」, 「B/C」, 「B/C」으로 발생하고 을 알 수 .pysparkpypandoc=

Travis CI를 하려다 비슷한 했습니다.jupyter하다는 '차륜'이라는 패키지의 '차륜을 제작하여 하였습니다.pyzmq에러 메세지가 수백 페이지에 표시됩니다.

제가 찾은 솔루션은 이전 버전의 패키지를 직접 설치하는 것이었습니다.

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

후, 「 」, 「 」의 됩니다.jupyter에러 없이 성공했습니다.

는 ★★★★★★★★★★★★★★★★★★★★★를 시험해 보았다.pip install wheel위의 지시사항을 받았으나, 이미 조건이 충족되었다고 해서 효과가 없었습니다.python-3.10 python-3.9 python-3.9 python-3.9 python-3.9 python-3.9 python-mython-mython-mython-mython-mython-mython-3.9는 마침내 을 깨달았습니다.python --version ★★★★★★★★★★★★★★★★★」pip --version디렉토리를 비교하고 있습니다.

이 깨달음을 얻어 python-3.10에 맞는 새로운 버전의 pip을 설치하고 바퀴를 달면 모든 것이 작동했습니다.

@@Philippe Remy에서 .setuptools

from setuptools import setup

레퍼런스: 공식문서 https://setuptools.pypa.io/en/latest/index.html

언급URL : https://stackoverflow.com/questions/34819221/why-is-python-setup-py-saying-invalid-command-bdist-wheel-on-travis-ci

반응형