I have a problem after what seems like a flawless upgrade to 13. There are no errors thrown during the upgrade process and everything seems to be fine.
When I refresh the page I get the webpage without any issues. When I try to open Desk, I’m stopped by the following error displayed in a popup.
module 'public' has no attribute '__file__'
I was able to locate the error in the web.log traceback
File "/home/recharger/frappe-bench/apps/frappe/frappe/translate.py", line 542, in extract_messages_from_code code = frappe.as_unicode(render_include(code)) File "/home/recharger/frappe-bench/apps/frappe/frappe/model/utils/__init__.py", line 70, in render_include with io.open(frappe.get_app_path(app, app_path), 'r', encoding = 'utf-8') as f: File "/home/recharger/frappe-bench/apps/frappe/frappe/__init__.py", line 954, in get_app_path return get_pymodule_path(app_name, *joins) File "/home/recharger/frappe-bench/apps/frappe/frappe/__init__.py", line 969, in get_pymodule_path return os.path.join(os.path.dirname(get_module(scrub(modulename)).__file__ or ''), *joins) AttributeError: module 'public' has no attribute '__file__
Ubuntu 18.04.5 LTS Fully updated
Pre-update ERP 12.1 Frappe 12.20
The excerpt of the file where the error happens is below.
def get_pymodule_path(modulename, *joins): """Return path of given Python module name. :param modulename: Python module name. :param *joins: Join additional path elements using `os.path.join`.""" if not "public" in joins: joins = [scrub(part) for part in joins] return os.path.join(os.path.dirname(get_module(scrub(modulename)).__file__ or ''), *joi$
I am sure that this is a simple fix and I hope one of the Python Gurus out here can point me to a resolution. I started my own thread because this issue was lost in another topic. But it was noted by another user and I seconded the issue.
I have users on the system and will revert back the snapshot until I can get some feedback.
Thanks in advance folks.