My Python-pakket heeft een setup.py
Die prima lokaal bouwen op Ubuntu Trusty en op een verse zwerver Ubuntu Trusty VM wanneer ik het als deze bepaling:
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
Maar wanneer ik hetzelfde doe op een 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
Ik krijg:
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'
dit Waarom kan ik geen wiel in Python maken? is gerelateerd, maar opmerking, ik installeer wiel en upgrade-setuptools.
Antwoord 1, Autoriteit 100%
Had de wheel
pakket installeren. Alles was up-to-date maar gaf nog steeds de fout.
pip install wheel
Dan
python setup.py bdist_wheel
Werkte zonder problemen.
Antwoord 2, autoriteit 22%
Jan 2020
2 uur verspild.
Op een AWS Ubuntu 18.04 new machine
zijn onderstaande installaties vereist:
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
Vooral de laatste regel is een must.
Het kan echter zijn dat 3 regels vereist zijn als voorwaarde.
Hopelijk helpt dat.
Antwoord 3, autoriteit 11%
pip install wheel
werkte voor mij, maar je kunt dit ook toevoegen
setup(
...
setup_requires=['wheel']
)
naar setup.py en sla jezelf een pip install-opdracht op
Antwoord 4, autoriteit 7%
Als je alle vereiste modules al hebt geïnstalleerd, moet je waarschijnlijk de module setuptools
importeren in je setup.py
-bestand. Voeg dus gewoon de volgende regel toe aan het begin van het bestand setup.py
.
import setuptools
from distutils.core import setup
# other imports and setups
Dit wordt ook vermeld in de documentatie van het wiel. https://wheel.readthedocs.io/en/stable/#usage
Antwoord 5, autoriteit 6%
Dit probleem is te wijten aan:
- een oude versie van pip (6.1.1) wordt geïnstalleerd voor Python 2.7
- meerdere exemplaren van Python 2.7 geïnstalleerd op de Trusty Beta-image
- een andere locatie voor Python 2.7 wordt gebruikt voor
sudo
Het is allemaal een beetje ingewikkeld en wordt hier beter uitgelegd https://github.com /travis-ci/travis-ci/issues/4989.
Mijn oplossing was om te installeren met gebruiker travis
in plaats van sudo
:
- pip2.7 install --upgrade --user travis pip setuptools wheel virtualenv
Antwoord 6, autoriteit 3%
Deze fout is raar omdat veel voorgestelde antwoorden en gemengde oplossingen werden gegeven. Ik heb ze geprobeerd, voeg ze toe. Pas toen ik pip install --upgrade pip
toevoegde, werd de fout uiteindelijk voor mij verwijderd. Maar ik heb geen tijd om te isoleren wat wat is, dus dit is slechts fyi.
Antwoord 7, autoriteit 3%
in mijn geval is de versie van wheel/pip/setuptools gemaakt door venv te oud.
dit werkt:
venv/bin/pip install --upgrade pip wheel setuptools
Antwoord 8, autoriteit 2%
Ik had wheel
al geïnstalleerd, dus ik probeerde het te verwijderen en opnieuw te installeren, en het probleem werd opgelost:
pip uninstall wheel
pip install wheel
Vreemd…
Antwoord 9, autoriteit 2%
In uw setup.py
, als u het volgende heeft:
from distutils.core import setup
Verander het dan in
from setuptools import setup
Maak vervolgens uw virtualenv opnieuw en voer de opdracht opnieuw uit, en het zou moeten werken.
Antwoord 10
Mijn oplossing was apt install python3-dev
Antwoord 11
Ik heb apt-get install python3-dev
in mijn Ubuntu gedaan en setup_requires=["wheel"]
toegevoegd in setup.py
Antwoord 12
Probeer het setup.py-bestand te wijzigen door setup te importeren uit setuptools in plaats van distutils.core
Antwoord 13
Als u setup.cfg
-bestanden gebruikt, voegt u dit toe vóór het gedeelte install_require
:
setup_requires =
wheel
Voorbeeld van setup.cfg-project:
# 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
Antwoord 14
Het heeft me geholpen om de instructies hier te volgen:
https://packaging.python.org/guides/installing- gebruik-linux-tools/
Debian/Ubuntu
Python 2:
sudo apt install python-pip
Python 3:
sudo apt install python3-venv python3-pip
Antwoord 15
Met Ubuntu 18.04 kan dit probleem worden opgelost door het python3-wheel
pakket te installeren.
Meestal wordt dit geïnstalleerd als een afhankelijkheid van elk Python-pakket. Maar vooral bij het bouwen van containerimages werk je vaak met --no-install-recommends
en daarom ontbreekt het vaak en moet het eerst handmatig worden geïnstalleerd.
Antwoord 16
Als geen van de bovenstaande oplossingen voor u werkt, ondervindt u misschien hetzelfde probleem als ik. Ik zag deze fout alleen bij het installeren van pyspark
. De oplossing wordt uitgelegd in deze andere stackoverflow-vraag kan pyspark niet installeren.
Ik post dit omdat het mij niet meteen duidelijk was uit de foutmelding dat mijn probleem uitsluitend voortkwam uit de afhankelijkheid van pyspark
van pypandoc
en ik hoop anderen te redden van urenlang hoofd krabben! =)
Antwoord 17
Misschien is uw pip-versie verouderd. Ik ondervond hetzelfde probleem in WSL tijdens het installeren van modules in een nieuw gecreëerde virtuele omgeving. Ik heb het kunnen oplossen door het volgende commando uit te voeren:
$ ./bin/python3 -m pip install --upgrade pip
Antwoord 18
Niet gerelateerd aan Travis CI maar
Ik kwam een soortgelijk probleem tegen toen ik jupyter
op mijn Mac OSX 10.8.5 probeerde te installeren, en geen van de andere antwoorden hielp. Het probleem werd veroorzaakt door het “wiel” te bouwen voor het pakket met de naam pyzmq
, met foutmeldingen die honderden pagina’s vulden.
De oplossing die ik vond was om direct een oudere versie van dat pakket te installeren:
python -m pip install pyzmq==17 --user
Daarna is de installatie van jupyter
zonder fouten gelukt.