Skip to content

Compatibility with Python 3.10 #410

@frenzymadness

Description

@frenzymadness

It seems to me that cloudpickle is not compatible with the latest Python 3.10a5. A short reproducer:

>>> import pickle
>>> import cloudpickle
>>> def g(s):
...     return len(s)
... 
>>> d = cloudpickle.dumps(g)
>>> a = pickle.loads(d)
>>> a("aaaa")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line -3, in g
NameError: name 'len' is not defined

According to the following results from tests, there is a problem with builtins:

======================================================================
ERROR: test_dynamic_module_with_unpicklable_builtin (tests.cloudpickle_test.CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 605, in test_dynamic_module_with_unpicklable_builtin
    assert depickled_mod.f(-1) == 1
  File "<string>", line 1, in <lambda>
NameError: name 'abs' is not defined

======================================================================
ERROR: test_extended_arg (tests.cloudpickle_test.CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 971, in test_extended_arg
    self.assertEqual(f2(), res)
  File "<string>", line -1, in f
NameError: name 'bytes' is not defined

======================================================================
ERROR: test_generator (tests.cloudpickle_test.CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 452, in test_generator
    assert list(gen2(3)) == list(range(3))
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 447, in some_generator
    yield i
NameError: name 'range' is not defined

======================================================================
ERROR: test_generic_extensions_final (tests.cloudpickle_test.CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 2246, in test_generic_extensions_final
    typing_extensions = pytest.importorskip('typing_extensions')
  File "/home/lbalhar/.virtualenvs/cloudpickle/lib/python3.10/site-packages/_pytest/outcomes.py", line 212, in importorskip
    raise Skipped(reason, allow_module_level=True) from None
Skipped: could not import 'typing_extensions': No module named 'typing_extensions'

======================================================================
ERROR: test_generic_extensions_literal (tests.cloudpickle_test.CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 2229, in test_generic_extensions_literal
    typing_extensions = pytest.importorskip('typing_extensions')
  File "/home/lbalhar/.virtualenvs/cloudpickle/lib/python3.10/site-packages/_pytest/outcomes.py", line 212, in importorskip
    raise Skipped(reason, allow_module_level=True) from None
Skipped: could not import 'typing_extensions': No module named 'typing_extensions'

======================================================================
ERROR: test_generic_type (tests.cloudpickle_test.CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 2198, in test_generic_type
    assert worker.run(check_generic, C[int], C, int, use_args) == "ok"
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 134, in run
    raise result
NameError: name 'len' is not defined

======================================================================
ERROR: test_interactive_dynamic_type_and_stored_remote_instances (tests.cloudpickle_test.CloudPickleTest)
Simulate objects stored on workers to check isinstance semantics
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 184, in assert_run_python_script
    out = check_output(cmd, **kwargs)
  File "/usr/lib64/python3.10/subprocess.py", line 429, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib64/python3.10/subprocess.py", line 533, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/home/lbalhar/.virtualenvs/cloudpickle/bin/python', '-W ignore', '/tmp/tmprzcwymxq_src_test_cloudpickle.py']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 1782, in test_interactive_dynamic_type_and_stored_remote_instances
    assert_run_python_script(code)
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 186, in assert_run_python_script
    raise RuntimeError(u"script errored with output:\n%s"
RuntimeError: script errored with output:
Traceback (most recent call last):
  File "/tmp/tmprzcwymxq_src_test_cloudpickle.py", line 22, in <module>
    id1 = w.run(store, A())
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 134, in run
    raise result
NameError: name 'getattr' is not defined


======================================================================
ERROR: test_interactive_remote_function_calls_no_memory_leak (tests.cloudpickle_test.CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 184, in assert_run_python_script
    out = check_output(cmd, **kwargs)
  File "/usr/lib64/python3.10/subprocess.py", line 429, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib64/python3.10/subprocess.py", line 533, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/home/lbalhar/.virtualenvs/cloudpickle/bin/python', '-W ignore', '/tmp/tmpuwo45i9h_src_test_cloudpickle.py']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 1830, in test_interactive_remote_function_calls_no_memory_leak
    assert_run_python_script(code)
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 186, in assert_run_python_script
    raise RuntimeError(u"script errored with output:\n%s"
RuntimeError: script errored with output:
Traceback (most recent call last):
  File "/tmp/tmpuwo45i9h_src_test_cloudpickle.py", line 21, in <module>
    result = w.run(func)
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 134, in run
    raise result
NameError: name 'len' is not defined


======================================================================
ERROR: test_interactive_remote_function_calls_no_side_effect (tests.cloudpickle_test.CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 184, in assert_run_python_script
    out = check_output(cmd, **kwargs)
  File "/usr/lib64/python3.10/subprocess.py", line 429, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib64/python3.10/subprocess.py", line 533, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/home/lbalhar/.virtualenvs/cloudpickle/bin/python', '-W ignore', '/tmp/tmppmuuelfh_src_test_cloudpickle.py']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 1665, in test_interactive_remote_function_calls_no_side_effect
    assert_run_python_script(code)
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 186, in assert_run_python_script
    raise RuntimeError(u"script errored with output:\n%s"
RuntimeError: script errored with output:
Traceback (most recent call last):
  File "/tmp/tmppmuuelfh_src_test_cloudpickle.py", line 36, in <module>
    assert not w.run(is_in_main, "CustomClass")
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 134, in run
    raise result
NameError: name 'hasattr' is not defined


======================================================================
ERROR: test_locally_defined_function_and_class (tests.cloudpickle_test.CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 367, in test_locally_defined_function_and_class
    self.assertEqual(pickle_depickle(some_function, protocol=self.protocol)(41, 1), 1)
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 364, in some_function
    return (x + y) / LOCAL_CONSTANT
NameError: name 'sum' is not defined

======================================================================
ERROR: test_module_locals_behavior (tests.cloudpickle_test.CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 184, in assert_run_python_script
    out = check_output(cmd, **kwargs)
  File "/usr/lib64/python3.10/subprocess.py", line 429, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib64/python3.10/subprocess.py", line 533, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/home/lbalhar/.virtualenvs/cloudpickle/bin/python', '-W ignore', '/tmp/tmptogkierp_src_test_cloudpickle.py']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 562, in test_module_locals_behavior
    assert_run_python_script(textwrap.dedent(child_process_script))
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 186, in assert_run_python_script
    raise RuntimeError(u"script errored with output:\n%s"
RuntimeError: script errored with output:
Traceback (most recent call last):
  File "/tmp/tmptogkierp_src_test_cloudpickle.py", line 7, in <module>
    assert func(range(10)) == 45
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 25, in g
    return sum(range(10))
NameError: name 'sum' is not defined


======================================================================
ERROR: test_out_of_band_buffers (tests.cloudpickle_test.CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 2113, in test_out_of_band_buffers
    np = pytest.importorskip("numpy")
  File "/home/lbalhar/.virtualenvs/cloudpickle/lib/python3.10/site-packages/_pytest/outcomes.py", line 212, in importorskip
    raise Skipped(reason, allow_module_level=True) from None
Skipped: could not import 'numpy': No module named 'numpy'

======================================================================
ERROR: test_relative_import_inside_function (tests.cloudpickle_test.CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 2037, in test_relative_import_inside_function
    assert cloned_func() == "hello from a {}!".format(source)
  File "/home/lbalhar/.virtualenvs/cloudpickle/lib/python3.10/site-packages/_cloudpickle_testpkg/__init__.py", line 26, in f
    return module_function()
ImportError: __import__ not found

======================================================================
ERROR: test_tornado_coroutine (tests.cloudpickle_test.CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 944, in test_tornado_coroutine
    res = loop.run_sync(functools.partial(g2, 5))
  File "/home/lbalhar/.virtualenvs/cloudpickle/lib64/python3.10/site-packages/tornado/ioloop.py", line 530, in run_sync
    return future_cell[0].result()
  File "/home/lbalhar/.virtualenvs/cloudpickle/lib64/python3.10/site-packages/tornado/ioloop.py", line 492, in run
    result = func()
  File "/home/lbalhar/.virtualenvs/cloudpickle/lib64/python3.10/site-packages/tornado/gen.py", line 233, in wrapper
    try:
NameError: name 'isinstance' is not defined

======================================================================
ERROR: test_unhashable_closure (tests.cloudpickle_test.CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 311, in test_unhashable_closure
    self.assertEqual(g(), 2)
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 372, in g
    class SomeClass(object):
NameError: name 'len' is not defined

======================================================================
ERROR: test_dynamic_module_with_unpicklable_builtin (tests.cloudpickle_test.Protocol2CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 605, in test_dynamic_module_with_unpicklable_builtin
    assert depickled_mod.f(-1) == 1
  File "<string>", line 1, in <lambda>
NameError: name 'abs' is not defined

======================================================================
ERROR: test_extended_arg (tests.cloudpickle_test.Protocol2CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 971, in test_extended_arg
    self.assertEqual(f2(), res)
  File "<string>", line -1, in f
NameError: name 'bytes' is not defined

======================================================================
ERROR: test_generator (tests.cloudpickle_test.Protocol2CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 452, in test_generator
    assert list(gen2(3)) == list(range(3))
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 447, in some_generator
    yield i
NameError: name 'range' is not defined

======================================================================
ERROR: test_generic_extensions_final (tests.cloudpickle_test.Protocol2CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 2246, in test_generic_extensions_final
    typing_extensions = pytest.importorskip('typing_extensions')
  File "/home/lbalhar/.virtualenvs/cloudpickle/lib/python3.10/site-packages/_pytest/outcomes.py", line 212, in importorskip
    raise Skipped(reason, allow_module_level=True) from None
Skipped: could not import 'typing_extensions': No module named 'typing_extensions'

======================================================================
ERROR: test_generic_extensions_literal (tests.cloudpickle_test.Protocol2CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 2229, in test_generic_extensions_literal
    typing_extensions = pytest.importorskip('typing_extensions')
  File "/home/lbalhar/.virtualenvs/cloudpickle/lib/python3.10/site-packages/_pytest/outcomes.py", line 212, in importorskip
    raise Skipped(reason, allow_module_level=True) from None
Skipped: could not import 'typing_extensions': No module named 'typing_extensions'

======================================================================
ERROR: test_generic_type (tests.cloudpickle_test.Protocol2CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 2198, in test_generic_type
    assert worker.run(check_generic, C[int], C, int, use_args) == "ok"
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 134, in run
    raise result
NameError: name 'len' is not defined

======================================================================
ERROR: test_interactive_dynamic_type_and_stored_remote_instances (tests.cloudpickle_test.Protocol2CloudPickleTest)
Simulate objects stored on workers to check isinstance semantics
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 184, in assert_run_python_script
    out = check_output(cmd, **kwargs)
  File "/usr/lib64/python3.10/subprocess.py", line 429, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib64/python3.10/subprocess.py", line 533, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/home/lbalhar/.virtualenvs/cloudpickle/bin/python', '-W ignore', '/tmp/tmpvkkfbn40_src_test_cloudpickle.py']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 1782, in test_interactive_dynamic_type_and_stored_remote_instances
    assert_run_python_script(code)
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 186, in assert_run_python_script
    raise RuntimeError(u"script errored with output:\n%s"
RuntimeError: script errored with output:
Traceback (most recent call last):
  File "/tmp/tmpvkkfbn40_src_test_cloudpickle.py", line 22, in <module>
    id1 = w.run(store, A())
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 134, in run
    raise result
NameError: name 'getattr' is not defined


======================================================================
ERROR: test_interactive_remote_function_calls_no_memory_leak (tests.cloudpickle_test.Protocol2CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 184, in assert_run_python_script
    out = check_output(cmd, **kwargs)
  File "/usr/lib64/python3.10/subprocess.py", line 429, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib64/python3.10/subprocess.py", line 533, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/home/lbalhar/.virtualenvs/cloudpickle/bin/python', '-W ignore', '/tmp/tmpsnokol80_src_test_cloudpickle.py']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 1830, in test_interactive_remote_function_calls_no_memory_leak
    assert_run_python_script(code)
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 186, in assert_run_python_script
    raise RuntimeError(u"script errored with output:\n%s"
RuntimeError: script errored with output:
Traceback (most recent call last):
  File "/tmp/tmpsnokol80_src_test_cloudpickle.py", line 21, in <module>
    result = w.run(func)
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 134, in run
    raise result
NameError: name 'len' is not defined


======================================================================
ERROR: test_interactive_remote_function_calls_no_side_effect (tests.cloudpickle_test.Protocol2CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 184, in assert_run_python_script
    out = check_output(cmd, **kwargs)
  File "/usr/lib64/python3.10/subprocess.py", line 429, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib64/python3.10/subprocess.py", line 533, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/home/lbalhar/.virtualenvs/cloudpickle/bin/python', '-W ignore', '/tmp/tmp8uurspoa_src_test_cloudpickle.py']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 1665, in test_interactive_remote_function_calls_no_side_effect
    assert_run_python_script(code)
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 186, in assert_run_python_script
    raise RuntimeError(u"script errored with output:\n%s"
RuntimeError: script errored with output:
Traceback (most recent call last):
  File "/tmp/tmp8uurspoa_src_test_cloudpickle.py", line 36, in <module>
    assert not w.run(is_in_main, "CustomClass")
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 134, in run
    raise result
NameError: name 'hasattr' is not defined


======================================================================
ERROR: test_locally_defined_function_and_class (tests.cloudpickle_test.Protocol2CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 367, in test_locally_defined_function_and_class
    self.assertEqual(pickle_depickle(some_function, protocol=self.protocol)(41, 1), 1)
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 364, in some_function
    return (x + y) / LOCAL_CONSTANT
NameError: name 'sum' is not defined

======================================================================
ERROR: test_module_locals_behavior (tests.cloudpickle_test.Protocol2CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 184, in assert_run_python_script
    out = check_output(cmd, **kwargs)
  File "/usr/lib64/python3.10/subprocess.py", line 429, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib64/python3.10/subprocess.py", line 533, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/home/lbalhar/.virtualenvs/cloudpickle/bin/python', '-W ignore', '/tmp/tmpa3fxyo8c_src_test_cloudpickle.py']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 562, in test_module_locals_behavior
    assert_run_python_script(textwrap.dedent(child_process_script))
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line 186, in assert_run_python_script
    raise RuntimeError(u"script errored with output:\n%s"
RuntimeError: script errored with output:
Traceback (most recent call last):
  File "/tmp/tmpa3fxyo8c_src_test_cloudpickle.py", line 7, in <module>
    assert func(range(10)) == 45
  File "/home/lbalhar/Software/cloudpickle/tests/testutils.py", line -1, in g
NameError: name 'sum' is not defined


======================================================================
ERROR: test_out_of_band_buffers (tests.cloudpickle_test.Protocol2CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 2112, in test_out_of_band_buffers
    pytest.skip("Need Pickle Protocol 5 or later")
  File "/home/lbalhar/.virtualenvs/cloudpickle/lib/python3.10/site-packages/_pytest/outcomes.py", line 139, in skip
    raise Skipped(msg=msg, allow_module_level=allow_module_level)
Skipped: Need Pickle Protocol 5 or later

======================================================================
ERROR: test_relative_import_inside_function (tests.cloudpickle_test.Protocol2CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 2037, in test_relative_import_inside_function
    assert cloned_func() == "hello from a {}!".format(source)
  File "/home/lbalhar/.virtualenvs/cloudpickle/lib/python3.10/site-packages/_cloudpickle_testpkg/__init__.py", line 26, in f
    return module_function()
ImportError: __import__ not found

======================================================================
ERROR: test_tornado_coroutine (tests.cloudpickle_test.Protocol2CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 944, in test_tornado_coroutine
    res = loop.run_sync(functools.partial(g2, 5))
  File "/home/lbalhar/.virtualenvs/cloudpickle/lib64/python3.10/site-packages/tornado/ioloop.py", line 530, in run_sync
    return future_cell[0].result()
  File "/home/lbalhar/.virtualenvs/cloudpickle/lib64/python3.10/site-packages/tornado/ioloop.py", line 492, in run
    result = func()
  File "/home/lbalhar/.virtualenvs/cloudpickle/lib64/python3.10/site-packages/tornado/gen.py", line 233, in wrapper
    try:
NameError: name 'isinstance' is not defined

======================================================================
ERROR: test_unhashable_closure (tests.cloudpickle_test.Protocol2CloudPickleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 311, in test_unhashable_closure
    self.assertEqual(g(), 2)
  File "/home/lbalhar/Software/cloudpickle/tests/cloudpickle_test.py", line 306, in g
    return len(s)
NameError: name 'len' is not defined

----------------------------------------------------------------------
Ran 219 tests in 6.720s

FAILED (errors=30)
Test failed: <unittest.runner.TextTestResult run=219 errors=30 failures=0>
error: Test failed: <unittest.runner.TextTestResult run=219 errors=30 failures=0>

Some incompatibilities are already fixed in: #400

It would be nice to add Python 3.9 and 3.10 to CI.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions