Skip to content

Python 3.8: ImportError: cannot import name 'splitattr' from 'urllib.request' #447

Closed
@hroncok

Description

@hroncok

Hi, when i try to test future on Python 3.8.0a3, i get:

$ tox -e py38
GLOB sdist-make: .../python-future/setup.py
py38 inst-nodeps: .../python-future/.tox/.tmp/package/1/future-0.17.1.zip
py38 installed: atomicwrites==1.3.0,attrs==19.1.0,future==0.17.1,linecache2==1.0.0,more-itertools==7.0.0,pluggy==0.9.0,py==1.8.0,pytest==4.4.0,six==1.12.0,traceback2==1.4.0,unittest2==1.1.0
py38 run-test-pre: PYTHONHASHSEED='663560309'
py38 runtests: commands[0] | pytest
============================= test session starts ==============================
platform linux -- Python 3.8.0a3, pytest-4.4.0, py-1.8.0, pluggy-0.9.0
cachedir: .tox/py38/.pytest_cache
rootdir: .../python-future, inifile: pytest.ini
collected 1091 items / 1 errors / 1090 selected

==================================== ERRORS ====================================
_____________ ERROR collecting tests/test_future/test_urllibnet.py _____________
ImportError while importing test module '.../python-future/tests/test_future/test_urllibnet.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/test_future/test_urllibnet.py:13: in <module>
    import future.moves.urllib.request as urllib_request
.tox/py38/lib/python3.8/site-packages/future/moves/urllib/request.py:9: in <module>
    from urllib.request import (getproxies,
E   ImportError: cannot import name 'splitattr' from 'urllib.request' (/usr/lib64/python3.8/urllib/request.py)
=============================== warnings summary ===============================
tests/test_future/test_backports.py:13
tests/test_future/test_backports.py:13
  .../python-future/tests/test_future/test_backports.py:13: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
    from collections import Mapping, MutableMapping

tests/test_future/test_range.py:9
tests/test_future/test_range.py:9
  .../python-future/tests/test_future/test_range.py:9: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
    from collections import Iterator, Sequence

tests/test_future/test_urllib_response.py:11
  .../python-future/tests/test_future/test_urllib_response.py:11: PytestWarning: cannot collect test class 'TestFile' because it has a __init__ constructor
    class TestFile(object):

.tox/py38/lib/python3.8/site-packages/past/builtins/misc.py:79
  .../python-future/.tox/py38/lib/python3.8/site-packages/past/builtins/misc.py:79: DeprecationWarning: 'U' mode is deprecated
    with open(filename, "rbU") as fin:

-- Docs: https://docs.pytest.org/en/latest/warnings.html
!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!!
===================== 6 warnings, 1 error in 0.64 seconds ======================
ERROR: InvocationError for command '.../python-future/.tox/py38/bin/pytest' (exited with code 2)
___________________________________ summary ____________________________________
ERROR:   py38: commands failed

This is basically a duplicate of #350 and #382 but those are closed.

See also:

https://bugs.python.org/issue35891
https://bugs.python.org/issue27485

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions