The dash multipage demo doesn’t work for me. I get an error like this on my screen.
Here’s the background callback with cache.
Hi @Osako
Please check the dependencies – the caching demo requires:
dash>=2.6.1
Flask-Caching>= 2.0.1
diskcache>=5.2.1
numpy
pandas
redis
I’m still getting the error.
Anyone know a solution?
When I run it, I don’t get any errors. It might be an issue with Windows.
@adamschroeder do you have any suggestions?
hi @Osako Hi @AnnMarieW
I have a windows machine. I git cloned the repo and installed the dependencies that Ann mentioned. The multi_page_cache_background_callback app works well. I didn’t get any errors.
Sorry again.
my misunderstanding.
this problem still persists
I still get an error
Help me
Sorry for the late reply.
I get an error on the first action.
For example, if you press the run job button, pycharm will give you this error.
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\multiprocess\spawn.py", line 116, in spawn_main
exitcode = _main(fd, parent_sentinel)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\multiprocess\spawn.py", line 126, in _main
self = reduction.pickle.load(from_parent)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 272, in load
return Unpickler(file, ignore=ignore, **kwds).load()
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 419, in load
obj = StockUnpickler.load(self)
EOFError: Ran out of input
The browser gives this error.
Traceback (most recent call last):
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\flask\app.py", line 1820, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\flask\app.py", line 1796, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dash\dash.py", line 1274, in dispatch
ctx.run(
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dash\_callback.py", line 362, in add_context
job = callback_manager.call_job_fn(
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dash\long_callback\managers\diskcache_manager.py", line 125, in call_job_fn
proc.start()
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\multiprocess\process.py", line 121, in start
self._popen = self._Popen(self)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\multiprocess\context.py", line 224, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\multiprocess\context.py", line 327, in _Popen
return Popen(process_obj)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\multiprocess\popen_spawn_win32.py", line 93, in __init__
reduction.dump(process_obj, to_child)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\multiprocess\reduction.py", line 63, in dump
ForkingPickler(file, protocol, *args, **kwds).dump(obj)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 394, in dump
StockPickler.dump(self, obj)
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 487, in dump
self.save(obj)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 388, in save
StockPickler.save(self, obj, save_persistent_id)
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 603, in save
self.save_reduce(obj=obj, *rv)
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 717, in save_reduce
save(state)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 388, in save
StockPickler.save(self, obj, save_persistent_id)
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 560, in save
f(self, obj) # Call unbound method with explicit self
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 1186, in save_module_dict
StockPickler.save_dict(pickler, obj)
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 971, in save_dict
self._batch_setitems(obj.items())
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 997, in _batch_setitems
save(v)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 388, in save
StockPickler.save(self, obj, save_persistent_id)
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 560, in save
f(self, obj) # Call unbound method with explicit self
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 1824, in save_function
_save_with_postproc(pickler, (_create_function, (
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 1089, in _save_with_postproc
pickler.save_reduce(*reduction)
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 692, in save_reduce
save(args)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 388, in save
StockPickler.save(self, obj, save_persistent_id)
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 560, in save
f(self, obj) # Call unbound method with explicit self
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 886, in save_tuple
save(element)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 388, in save
StockPickler.save(self, obj, save_persistent_id)
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 560, in save
f(self, obj) # Call unbound method with explicit self
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 1824, in save_function
_save_with_postproc(pickler, (_create_function, (
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 1084, in _save_with_postproc
pickler._batch_setitems(iter(source.items()))
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 997, in _batch_setitems
save(v)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 388, in save
StockPickler.save(self, obj, save_persistent_id)
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 603, in save
self.save_reduce(obj=obj, *rv)
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 687, in save_reduce
save(cls)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 388, in save
StockPickler.save(self, obj, save_persistent_id)
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 560, in save
f(self, obj) # Call unbound method with explicit self
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 1698, in save_type
_save_with_postproc(pickler, (_create_type, (
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 1070, in _save_with_postproc
pickler.save_reduce(*reduction, obj=obj)
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 692, in save_reduce
save(args)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 388, in save
StockPickler.save(self, obj, save_persistent_id)
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 560, in save
f(self, obj) # Call unbound method with explicit self
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 901, in save_tuple
save(element)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 388, in save
StockPickler.save(self, obj, save_persistent_id)
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 560, in save
f(self, obj) # Call unbound method with explicit self
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 1186, in save_module_dict
StockPickler.save_dict(pickler, obj)
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 971, in save_dict
self._batch_setitems(obj.items())
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 997, in _batch_setitems
save(v)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 388, in save
StockPickler.save(self, obj, save_persistent_id)
File "C:\Users\osako\AppData\Local\Programs\Python\Python39\lib\pickle.py", line 578, in save
rv = reduce(self.proto)
TypeError: cannot pickle '_abc._abc_data' object
The version of dill was 0.3.6.
After changing the dill version to 0.3.5.1, the browser error is no longer displayed, but an error occurs in pycharm.
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\multiprocess\spawn.py", line 116, in spawn_main
exitcode = _main(fd, parent_sentinel)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\multiprocess\spawn.py", line 126, in _main
self = reduction.pickle.load(from_parent)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 373, in load
return Unpickler(file, ignore=ignore, **kwds).load()
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dill\_dill.py", line 646, in load
obj = StockUnpickler.load(self)
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dash_bootstrap_components\__init__.py", line 50, in __getattr__
if name in self.deprecated:
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dash_bootstrap_components\__init__.py", line 50, in __getattr__
if name in self.deprecated:
File "C:\Users\osako\PycharmProjects\pythonProject2\venv\lib\site-packages\dash_bootstrap_components\__init__.py", line 50, in __getattr__
if name in self.deprecated:
[Previous line repeated 991 more times]
RecursionError: maximum recursion depth exceeded
Are you using python 3.10?
I am using python3.9.
Now I use python3.10 and I get the same error.
Looks like this issue has been around for a while:
They havent made the fix just yet.
Thank you for your detailed explanation.
I would like to wait patiently.
It looks like < 3.6 will get you the caching minus the python console logs, lol.
3.6 will just error out.
I’m a newbie and don’t understand what you mean. I’m really sorry. should i wait?
I dont know how long they will take to patch this issue.
You can gain the benefit of caching with an older version of dill, it will just print error messages to the console but it should cache all the same.