Install failure with pip 20 and setuptools 46
See original GitHub issueHi, sorry to intrude, but there may be some issues regarding recent evolution made by the pypa and the choice of poetry as the “packaging backend” (no offense). Information may be worth something on your side of other users of this package, don’t know.
In an environment with pip==18.1, setuptools==40.8.0, gcc and some other libs, pip install streaming-form-data works without any issue, everything’s fine. Well, you gotta have more than just pip and setuptools, but that happens.
In an environment with pip==20.1.1 (and higher) and setuptools==46.4.0, even with the gcc and libs, I got the following
root@cdb4ae3c174c:/app# pip install streaming-form-data
Collecting streaming-form-data
Downloading streaming-form-data-1.7.0.tar.gz (92 kB)
|████████████████████████████████| 92 kB 1.1 MB/s
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... done
Building wheels for collected packages: streaming-form-data
Building wheel for streaming-form-data (PEP 517) ... error
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python /usr/local/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmp5lcaherm
cwd: /tmp/pip-install-zbvymr76/streaming-form-data
Complete output (25 lines):
A setup.py file already exists. Using it.
Traceback (most recent call last):
File "/tmp/pip-install-zbvymr76/streaming-form-data/setup.py", line 2, in <module>
from setuptools import setup
ModuleNotFoundError: No module named 'setuptools'
[...]
ERROR: Failed building wheel for streaming-form-data
Failed to build streaming-form-data
ERROR: Could not build wheels for streaming-form-data which use PEP 517 and cannot be installed directly
At first I didn’t paid too much attention, thought it was about the wheel and the pep 517, and tried things like --no-binary :all:
and --no-binary streaming-form-data
, also switching the use of PEP 517, to no avail alas. Before realizing it was not the wheel itself, but the direct install too.
Long story short, if you dig around the pypa discussions on github and so forth, it seems there is some issue with some packaging (especially PEP 517/poetry linked) and finding packages in build environments. Hence the “no setuptools found” issue at the beginning of the stacktrace. Plus there is quite some instability/uncertainty in the current state of Python packaging (once again, cf. pypa and recent evolution).
So for now my solution is
pip install poetry
pip --no-build-isolation streaming-form-data
But that’s not so satisfying. Is there something that could be done streaming-form-data side ? I don’t think so but it’s worth a shot. Maybe there other way to configure pip so as to not have this issue (maybe something else than no binary or pep 517 related elements).
Issue Analytics
- State:
- Created 3 years ago
- Comments:8 (3 by maintainers)
Top GitHub Comments
Alright, I just uploaded
1.7.1
and this version seems to install fine with a plainpip install streaming-form-data
.Ended up replacing the
poetry
build backend with asetup.py
file and had to drop support for Python 3.5. 🤷♂️I’m still using poetry on other pure-python projects, so it’s not all that bad. 🙂 Thanks for the heads up about the README.