-
-
Notifications
You must be signed in to change notification settings - Fork 31.1k
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
bpo-25988: Do not expose abstract collection classes in the collections module. #10596
bpo-25988: Do not expose abstract collection classes in the collections module. #10596
Conversation
This is actually in urllib3, we just bundle urllib3, it looks fixed in urllib3 and in pip and we just need to update CPython's bundled copy of pip. |
Great, thanks for looking into this! |
The above has been merged, you should be able to rebase this PR. |
c1ffdbc
to
6e1d424
Compare
This might cause cc: @JulienPalard |
Tests still are failing because of incompatibility in
Note also syntax warnings produced by
|
Warning in html5lib's Upstream issue I opened while testing : html5lib/html5lib-python#402 |
Requests also seem to be fixed : psf/requests#4728 So I guess pip's vendor folder needs to be updated for both libraries? |
FWIW, it would be reasonable to delay this be one additional point release. Also, if there are known major projects that still do the old imports, we should submit bug reports to those projects (I've already done some of these). |
Our docs build had this problem with a dependency that had this issue and now it's fixed upstream. I think it's better to do it now that gives more time and will help users and libraries who test their code with alpha and beta candidates if they have these imports. |
@dstufft @pradyunsg https://bugs.python.org/issue35807 updates pip to 19.0 but I still see the vendored copy using html5lib that has this warning. Does pip update vendored version copy only after a release from html5lib? Should I file an issue in Pip's repo for this? |
(sorry for the delay in responding; swamped in GitHub notifications currently)
Yep. pip downloads and vendors only versions released on PyPI.
This isn't necessary since we basically do a round of vendoring updates before a release which should cover this, but yeah, it won't hurt either. Please feel free to. |
6e1d424
to
95262b1
Compare
pip 19.0.3 still is not compatible with this PR. |
Yea, there hasn't been an update for html5lib yet. :( I pinged the author on #pypa-dev on Freenode today about this. |
If we postpone the removal, can we change warning class from DeprecationWarning to ImportWarning to nosy more people? Maybe, many Python developers doesn't care about DeprecationWarning after Python 3.2. |
Ah. So that explains the documentation build failing. Thanks for the super quick response to a trivial question! |
I gave it a try - the jinja issue is the last blocker. If I use an unreleased commit of jinja [1], tests are green [2]. [1] https://github.com/yan12125/cpython/commit/e6641707fb87774bf6359d8a584047cc94cc5b68#diff-c8dee9c3c068ad3447bbf459950a35b5 |
That's surprising. Why was a tag created in Git with no public release on PyPI? Jinja2 fix for collections.abc: pallets/jinja@593ee1e |
Seems 2.10.2 is not tagged yet (or it was tagged but later removed): https://github.com/pallets/jinja/tags |
There was an issue filed against Jinja2 in April asking when the fix would be included in a release, but the maintainers aren't saying much: pallets/jinja#973 |
A new version of Jinja is out - http://jinja.palletsprojects.com/en/2.10.x/changelog/#version-2-10-2. This pull request can go forward now. And the git conflict seems trivial to fix :) c4106af A regression is discovered in Jinja 2.10.2 (pallets/jinja#1069). It might be better to wait for 2.10.3. |
The new (2.10.3) jinja release has been made! We're unblocked on this! :) |
I gave it another try - with this PR rebased [1] and Jinja 2.10.3 installed, tests are still green [2]. [1] |
Yay! We managed to do this in under an year! ^>^ |
…recation warnings ### What changes were proposed in this pull request? This PR aims to remove deprecation warnings by importing ABCs from `collections.abc` instead of `collections`. - python/cpython#10596 ### Why are the changes needed? This will remove deprecation warnings in Python 3.7 and 3.8. ``` $ python -V Python 3.7.5 $ python python/pyspark/resultiterable.py python/pyspark/resultiterable.py:23: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3,and in 3.9 it will stop working class ResultIterable(collections.Iterable): ``` ### Does this PR introduce any user-facing change? No, this doesn't introduce user-facing change ### How was this patch tested? Manually because this is about deprecation warning messages. Closes #26835 from tirkarthi/spark-30205-fix-abc-warnings. Authored-by: Karthikeyan Singaravelan <tir.karthi@gmail.com> Signed-off-by: Dongjoon Hyun <dhyun@apple.com>
https://bugs.python.org/issue25988