-
-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
more-itertools dependency broken on python 2.7 #10
Comments
I suspect the issue you're having is that your pip is old and installing inappropriate versions. When I use pip (via pip-run) to install more_itertools on Python 2.7, I get 5.x:
I think you need pip 9.x or later to honor the |
I'm using pip 9.0.1, the one that is bundled with ubuntu 18.04. That's supposed to honor the metadata, as you noted, and usually seems to. |
Indeed, it works for me under pip 9.0.1.
I wonder what it is about your environment that prevents the metadata from being honored. |
I was able to replicate the issue on stock Xenial.
|
I wuz wrong! This only affects ubuntu 16.04, which has an older pip (8.1.1). Apologies, I'm fighting three or so python problems, and got sloppy. Thank you for fixing the continuous build, and explaining what's going on. While Ubuntu 16.04 is still actively used by lots of people, and workarounds for these users are difficult -- they can't just replace the system pip easily -- I agree that babying a weak installer may be seen as somewhat unreasonable. And I don't even know if the change I proposed would fix the problem on Ubuntu 16.04, if its pip isn't paying attention to metadata... I'll probably try making the change in scancode-toolkit; it's the wrong place, but at least it'll let me verify the fix without asking you to commit it. |
Confirmed that upgrading pip is sufficient to bypass the issue.
|
As I said above, upgrading system pip is scary. I tried it, and it broke the system. And if the system pip is installed, you can't run a newer pip, in my recent experience. So whatever fix or workaround I use, it'll be something low-tech that tiptoes around those problems (assuming something else like simplejson/simplejson#245 doesn't force my hand). |
That does feel worse to me. And since we're talking about Xenial, maybe it makes sense to have a workaround. We can pin more_itertools here, but that's only going to work for this package... and implies that the workaround would be to do the same for other packages that depend on more_itertools... and the same would have to happen for every package whose dependency drops support for a Python version. I really think the only option is to ensure that a later version of pip is available or use another installer technique (install relevant dependencies through a separate requirements.txt). If permanently installing a suitable pip version isn't suitable, another idea is you could use something like
(weird that pip detects itself as 8.1.1 even though clearly it's managed to use 19.0.3) |
Oh, what a cesspool python is... I'm looking forward to being able to use pipenv for everything, but I'm not in that world yet, and somehow I suspect pipenv won't solve all the problems. It's good that python 2.7 finally has an end date, at least. I'm going to muddle through with bad workarounds, since I'm unwilling to abandon ubuntu 16.04 and 18.04 system python. |
@dankegel :on ubuntu,I tried first time on fresh system on py3.6, it working fine .But after (second time) that it says segmentation fault(core dumped).But after installing pipev.It works fine.Last line is omitted that "scancode-tookit installed sucessfully." |
That's not a fair qualifier IMHO ;) ....
... as somehow these (the Ubuntu-bundled "system" pip) are the culprit and source of some of your problems, not Python per-se or its libraries. And scancode-toolkit has been designed to work with modern pip (atm it bundles 18.1) |
OK, I revise my statement: the current obsession with a rolling update of everything is a cesspool :-) The impedence mismatch between that and stable, curated collections of software causes lots of tension and hair-pulling. It's frustrating when devotees of everything-up-to-date-all-the-time are unwilling to spare a thought for those in the last-long-term-support-release-must-keep-working world. But that's life. |
I don't think there's anything more to be done here, but feel free to revive the conversation if there is. |
On Ubuntu 16.04, using python 2.7.
Installing something via pip that depends on jaraco.functools succeeds, but:
The resulting installed program fails at runtime, since more-itertools-6 dropped support for python 2.6; here's the symptom:
The fix is probably to change setup.cfg to be more careful about the more_itertools requirement.
The text was updated successfully, but these errors were encountered: