Traceback with variables (most recent call last):
File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
mod_name = 'frappe.utils.bench_helper'
alter_argv = True
mod_spec = ModuleSpec(name='frappe.utils.bench_helper', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f1b1999da20>, origin='/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py')
code = <code object <module> at 0x7f1b183961e0, file "/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 1>
main_globals = {'__name__': '__main__', '__doc__': None, '__package__': 'frappe.utils', '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f1b1999da20>, '__spec__': ModuleSpec(name='frappe.utils.bench_helper', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f1b1999da20>, origin='/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py'), '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py', '__cached__': '/home/sulada/frappe-bench/apps/frappe/frappe/utils/__pycache__/bench_helper.cpython-310.pyc', 'importlib': <module 'importlib' from '/usr/lib/python3.10/importlib/__init__.py'>, 'json': <module 'json' from '/usr/lib/python3.10/json/__init__.py'>, 'os': <module 'os' from '/usr/lib/python3.10/os.py'>, 'traceback': <module 'traceback' from '/usr/lib/python3.10/traceback.py'>, 'warnings': <module 'warnings' from '/usr/lib/python3.10/warnings.py'>, 'Path': <cl...
File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
code = <code object <module> at 0x7f1b183961e0, file "/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 1>
run_globals = {'__name__': '__main__', '__doc__': None, '__package__': 'frappe.utils', '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f1b1999da20>, '__spec__': ModuleSpec(name='frappe.utils.bench_helper', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f1b1999da20>, origin='/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py'), '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py', '__cached__': '/home/sulada/frappe-bench/apps/frappe/frappe/utils/__pycache__/bench_helper.cpython-310.pyc', 'importlib': <module 'importlib' from '/usr/lib/python3.10/importlib/__init__.py'>, 'json': <module 'json' from '/usr/lib/python3.10/json/__init__.py'>, 'os': <module 'os' from '/usr/lib/python3.10/os.py'>, 'traceback': <module 'traceback' from '/usr/lib/python3.10/traceback.py'>, 'warnings': <module 'warnings' from '/usr/lib/python3.10/warnings.py'>, 'Path': <cl...
init_globals = None
mod_name = '__main__'
mod_spec = ModuleSpec(name='frappe.utils.bench_helper', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f1b1999da20>, origin='/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py')
pkg_name = 'frappe.utils'
script_name = None
loader = <_frozen_importlib_external.SourceFileLoader object at 0x7f1b1999da20>
fname = '/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py'
cached = '/home/sulada/frappe-bench/apps/frappe/frappe/utils/__pycache__/bench_helper.cpython-310.pyc'
File "/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 114, in <module>
main()
...skipped... 27 vars
File "/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 20, in main
click.Group(commands=commands)(prog_name="bench")
commands = {'frappe': <Group frappe>, 'get-frappe-commands': <Command get-frappe-commands>, 'get-frappe-help': <Command get-frappe-help>}
File "/home/sulada/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
self = <Group None>
args = ()
kwargs = {'prog_name': 'bench'}
File "/home/sulada/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
self = <Group None>
args = ['frappe', '--site', 'erpnext', 'migrate']
prog_name = 'bench'
complete_var = None
standalone_mode = True
windows_expand_args = True
extra = {}
ctx = <click.core.Context object at 0x7f1b19a2e140>
File "/home/sulada/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
_process_result = <function MultiCommand.invoke.<locals>._process_result at 0x7f1b183cb760>
args = ['migrate']
cmd_name = 'frappe'
cmd = <Group frappe>
sub_ctx = <click.core.Context object at 0x7f1b182d15d0>
ctx = <click.core.Context object at 0x7f1b19a2e140>
self = <Group None>
__class__ = <class 'click.core.MultiCommand'>
File "/home/sulada/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
_process_result = <function MultiCommand.invoke.<locals>._process_result at 0x7f1b18276b90>
args = []
cmd_name = 'migrate'
cmd = <Command migrate>
sub_ctx = <click.core.Context object at 0x7f1b182d13c0>
ctx = <click.core.Context object at 0x7f1b182d15d0>
self = <Group frappe>
__class__ = <class 'click.core.MultiCommand'>
File "/home/sulada/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
self = <Command migrate>
ctx = <click.core.Context object at 0x7f1b182d13c0>
File "/home/sulada/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
_Context__self = <click.core.Context object at 0x7f1b182d13c0>
_Context__callback = <function migrate at 0x7f1b183f7250>
args = ()
kwargs = {'skip_failing': False, 'skip_search_index': False}
ctx = <click.core.Context object at 0x7f1b182d13c0>
File "/home/sulada/frappe-bench/env/lib/python3.10/site-packages/click/decorators.py", line 33, in new_func
return f(get_current_context(), *args, **kwargs)
args = ()
kwargs = {'skip_failing': False, 'skip_search_index': False}
f = <function migrate at 0x7f1b183f7010>
File "/home/sulada/frappe-bench/apps/frappe/frappe/commands/__init__.py", line 29, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
ctx = <click.core.Context object at 0x7f1b182d13c0>
args = ()
kwargs = {'skip_failing': False, 'skip_search_index': False}
profile = False
f = <function migrate at 0x7f1b183f6f80>
File "/home/sulada/frappe-bench/apps/frappe/frappe/commands/site.py", line 613, in migrate
SiteMigration(
context = {'sites': ['erpnext'], 'force': False, 'verbose': False, 'profile': False}
skip_failing = False
skip_search_index = False
activate_by_import = <module 'traceback_with_variables.activate_by_import' from '/home/sulada/frappe-bench/env/lib/python3.10/site-packages/traceback_with_variables/activate_by_import.py'>
SiteMigration = <class 'frappe.migrate.SiteMigration'>
site = 'erpnext'
File "/home/sulada/frappe-bench/apps/frappe/frappe/migrate.py", line 187, in run
self.post_schema_updates()
self = <frappe.migrate.SiteMigration object at 0x7f1b182d12a0>
site = 'erpnext'
filelock = <function filelock at 0x7f1b15db6dd0>
File "/home/sulada/frappe-bench/apps/frappe/frappe/migrate.py", line 52, in wrapper
raise e
args = (<frappe.migrate.SiteMigration object at 0x7f1b182d12a0>,)
kwargs = {}
method = <function SiteMigration.post_schema_updates at 0x7f1b15db6b00>
File "/home/sulada/frappe-bench/apps/frappe/frappe/migrate.py", line 44, in wrapper
ret = method(*args, **kwargs)
args = (<frappe.migrate.SiteMigration object at 0x7f1b182d12a0>,)
kwargs = {}
method = <function SiteMigration.post_schema_updates at 0x7f1b15db6b00>
File "/home/sulada/frappe-bench/apps/frappe/frappe/migrate.py", line 152, in post_schema_updates
frappe.get_attr(fn)()
self = <frappe.migrate.SiteMigration object at 0x7f1b182d12a0>
app = 'hrms'
fn = 'hrms.setup.update_select_perm_after_install'
File "/home/sulada/frappe-bench/apps/frappe/frappe/__init__.py", line 1758, in get_attr
return getattr(get_module(modulename), methodname)
method_string = 'hrms.setup.update_select_perm_after_install'
app_name = 'hrms'
modulename = 'hrms.setup'
methodname = 'update_select_perm_after_install'
File "/home/sulada/frappe-bench/apps/frappe/frappe/__init__.py", line 1476, in get_module
return importlib.import_module(modulename)
modulename = 'hrms.setup'
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
name = 'hrms.setup'
package = None
level = 0
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
name = 'hrms.setup'
package = None
level = 0
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
name = 'hrms.setup'
import_ = <function _gcd_import at 0x7f1b19a8b400>
module = <object object at 0x7f1b19ab0060>
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
name = 'hrms.setup'
import_ = <function _gcd_import at 0x7f1b19a8b400>
path = ['/home/sulada/frappe-bench/apps/hrms/hrms']
parent = 'hrms'
parent_module = <module 'hrms' from '/home/sulada/frappe-bench/apps/hrms/hrms/__init__.py'>
spec = ModuleSpec(name='hrms.setup', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f1b141651b0>, origin='/home/sulada/frappe-bench/apps/hrms/hrms/setup.py')
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
spec = ModuleSpec(name='hrms.setup', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f1b141651b0>, origin='/home/sulada/frappe-bench/apps/hrms/hrms/setup.py')
module = <module 'hrms.setup' from '/home/sulada/frappe-bench/apps/hrms/hrms/setup.py'>
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
self = <_frozen_importlib_external.SourceFileLoader object at 0x7f1b141651b0>
module = <module 'hrms.setup' from '/home/sulada/frappe-bench/apps/hrms/hrms/setup.py'>
code = <code object <module> at 0x7f1b14592340, file "/home/sulada/frappe-bench/apps/hrms/hrms/setup.py", line 1>
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
f = <built-in function exec>
args = (<code object <module> at 0x7f1b14592340, file "/home/sulada/frappe-bench/apps/hrms/hrms/setup.py", line 1>, {'__name__': 'hrms.setup', '__doc__': None, '__package__': 'hrms', '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f1b141651b0>, '__spec__': ModuleSpec(name='hrms.setup', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f1b141651b0>, origin='/home/sulada/frappe-bench/apps/hrms/hrms/setup.py'), '__file__': '/home/sulada/frappe-bench/apps/hrms/hrms/setup.py', '__cached__': '/home/sulada/frappe-bench/apps/hrms/hrms/__pycache__/setup.cpython-310.pyc', '__builtins__': {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", '__package__': '', '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), '__build_class__': <built...
kwds = {}
File "/home/sulada/frappe-bench/apps/hrms/hrms/setup.py", line 5, in <module>
from frappe.desk.page.setup_wizard.install_fixtures import (
...skipped... 11 vars
builtins.ImportError: cannot import name '_' from 'frappe.desk.page.setup_wizard.install_fixtures' (/home/sulada/frappe-bench/apps/frappe/frappe/desk/page/setup_wizard/install_fixtures.py)
What u tired to do so I can u know why this error occurred
bench update --reset
Hi,
Is this the first time an update has been tried or has it been updated in the past without trouble?
What does bench version
return?
ERPNext: v15.28.0 (version-15)
ERPNext Chinese: v15.0.35 (master)
Erpnext Wxwork: v0.0.1 (master)
Frappe Framework: v15.32.0 (version-15)
Frappe HR: v15.32.0 (version-15)
Payments: v0.0.1 (version-15)
Print Designer: v1.x.x-develop () (develop)
Yes, it has been 3 months since my last update. I updated normally before, but this time I suddenly got this problem.
Some things to try:
pip3 install frappe-bench --upgrade
Then, try pulling each of the apps separately:
bench update --apps frappe --pull --reset
Replace frappe with each of the apps and see if one of them is causing the problem. Use the --reset option as needed.
I tried all apps according to your method and they all worked fine. Then I tried bench update --reset and still got the same error.
success Nothing to install.
success Saved lockfile.
Done in 0.06s.
Patching sites...
Migrating erpnext
Updating DocTypes for frappe : [========================================] 100%
Updating DocTypes for payments : [========================================] 100%
Updating DocTypes for erpnext : [========================================] 100%
Updating DocTypes for hrms : [========================================] 100%
Updating DocTypes for print_designer: [========================================] 100%
Updating DocTypes for erpnext_wxwork: [========================================] 100%
Updating DocTypes for sulada_app : [========================================] 100%
Updating Dashboard for frappe
Updating Dashboard for payments
Updating Dashboard for erpnext
Updating Dashboard for hrms
Updating Dashboard for erpnext_chinese
Updating Dashboard for print_designer
Updating Dashboard for erpnext_wxwork
Updating Dashboard for sulada_app
Updating customizations for Address
Updating customizations for Contact
Queued rebuilding of search index for erpnext
Traceback with variables (most recent call last):
File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
mod_name = 'frappe.utils.bench_helper'
alter_argv = True
mod_spec = ModuleSpec(name='frappe.utils.bench_helper', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f6ab8f19a20>, origin='/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py')
code = <code object <module> at 0x7f6ab79161e0, file "/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 1>
main_globals = {'__name__': '__main__', '__doc__': None, '__package__': 'frappe.utils', '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f6ab8f19a20>, '__spec__': ModuleSpec(name='frappe.utils.bench_helper', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f6ab8f19a20>, origin='/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py'), '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py', '__cached__': '/home/sulada/frappe-bench/apps/frappe/frappe/utils/__pycache__/bench_helper.cpython-310.pyc', 'importlib': <module 'importlib' from '/usr/lib/python3.10/importlib/__init__.py'>, 'json': <module 'json' from '/usr/lib/python3.10/json/__init__.py'>, 'os': <module 'os' from '/usr/lib/python3.10/os.py'>, 'traceback': <module 'traceback' from '/usr/lib/python3.10/traceback.py'>, 'warnings': <module 'warnings' from '/usr/lib/python3.10/warnings.py'>, 'Path': <cl...
File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
code = <code object <module> at 0x7f6ab79161e0, file "/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 1>
run_globals = {'__name__': '__main__', '__doc__': None, '__package__': 'frappe.utils', '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f6ab8f19a20>, '__spec__': ModuleSpec(name='frappe.utils.bench_helper', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f6ab8f19a20>, origin='/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py'), '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, '__file__': '/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py', '__cached__': '/home/sulada/frappe-bench/apps/frappe/frappe/utils/__pycache__/bench_helper.cpython-310.pyc', 'importlib': <module 'importlib' from '/usr/lib/python3.10/importlib/__init__.py'>, 'json': <module 'json' from '/usr/lib/python3.10/json/__init__.py'>, 'os': <module 'os' from '/usr/lib/python3.10/os.py'>, 'traceback': <module 'traceback' from '/usr/lib/python3.10/traceback.py'>, 'warnings': <module 'warnings' from '/usr/lib/python3.10/warnings.py'>, 'Path': <cl...
init_globals = None
mod_name = '__main__'
mod_spec = ModuleSpec(name='frappe.utils.bench_helper', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f6ab8f19a20>, origin='/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py')
pkg_name = 'frappe.utils'
script_name = None
loader = <_frozen_importlib_external.SourceFileLoader object at 0x7f6ab8f19a20>
fname = '/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py'
cached = '/home/sulada/frappe-bench/apps/frappe/frappe/utils/__pycache__/bench_helper.cpython-310.pyc'
File "/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 114, in <module>
main()
...skipped... 27 vars
File "/home/sulada/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 20, in main
click.Group(commands=commands)(prog_name="bench")
commands = {'frappe': <Group frappe>, 'get-frappe-commands': <Command get-frappe-commands>, 'get-frappe-help': <Command get-frappe-help>}
File "/home/sulada/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
return self.main(*args, **kwargs)
self = <Group None>
args = ()
kwargs = {'prog_name': 'bench'}
File "/home/sulada/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
self = <Group None>
args = ['frappe', '--site', 'erpnext', 'migrate']
prog_name = 'bench'
complete_var = None
standalone_mode = True
windows_expand_args = True
extra = {}
ctx = <click.core.Context object at 0x7f6ab8fae140>
File "/home/sulada/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
_process_result = <function MultiCommand.invoke.<locals>._process_result at 0x7f6ab794b6d0>
args = ['migrate']
cmd_name = 'frappe'
cmd = <Group frappe>
sub_ctx = <click.core.Context object at 0x7f6ab7823df0>
ctx = <click.core.Context object at 0x7f6ab8fae140>
self = <Group None>
__class__ = <class 'click.core.MultiCommand'>
File "/home/sulada/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
_process_result = <function MultiCommand.invoke.<locals>._process_result at 0x7f6ab77f6b00>
args = []
cmd_name = 'migrate'
cmd = <Command migrate>
sub_ctx = <click.core.Context object at 0x7f6ab7820550>
ctx = <click.core.Context object at 0x7f6ab7823df0>
self = <Group frappe>
__class__ = <class 'click.core.MultiCommand'>
File "/home/sulada/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
self = <Command migrate>
ctx = <click.core.Context object at 0x7f6ab7820550>
File "/home/sulada/frappe-bench/env/lib/python3.10/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
_Context__self = <click.core.Context object at 0x7f6ab7820550>
_Context__callback = <function migrate at 0x7f6ab79731c0>
args = ()
kwargs = {'skip_failing': False, 'skip_search_index': False}
ctx = <click.core.Context object at 0x7f6ab7820550>
File "/home/sulada/frappe-bench/env/lib/python3.10/site-packages/click/decorators.py", line 33, in new_func
return f(get_current_context(), *args, **kwargs)
args = ()
kwargs = {'skip_failing': False, 'skip_search_index': False}
f = <function migrate at 0x7f6ab7972f80>
File "/home/sulada/frappe-bench/apps/frappe/frappe/commands/__init__.py", line 29, in _func
ret = f(frappe._dict(ctx.obj), *args, **kwargs)
ctx = <click.core.Context object at 0x7f6ab7820550>
args = ()
kwargs = {'skip_failing': False, 'skip_search_index': False}
profile = False
f = <function migrate at 0x7f6ab7972ef0>
File "/home/sulada/frappe-bench/apps/frappe/frappe/commands/site.py", line 613, in migrate
SiteMigration(
context = {'sites': ['erpnext'], 'force': False, 'verbose': False, 'profile': False}
skip_failing = False
skip_search_index = False
activate_by_import = <module 'traceback_with_variables.activate_by_import' from '/home/sulada/frappe-bench/env/lib/python3.10/site-packages/traceback_with_variables/activate_by_import.py'>
SiteMigration = <class 'frappe.migrate.SiteMigration'>
site = 'erpnext'
File "/home/sulada/frappe-bench/apps/frappe/frappe/migrate.py", line 187, in run
self.post_schema_updates()
self = <frappe.migrate.SiteMigration object at 0x7f6ab7820430>
site = 'erpnext'
filelock = <function filelock at 0x7f6ab53c5510>
File "/home/sulada/frappe-bench/apps/frappe/frappe/migrate.py", line 52, in wrapper
raise e
args = (<frappe.migrate.SiteMigration object at 0x7f6ab7820430>,)
kwargs = {}
method = <function SiteMigration.post_schema_updates at 0x7f6ab53c5240>
File "/home/sulada/frappe-bench/apps/frappe/frappe/migrate.py", line 44, in wrapper
ret = method(*args, **kwargs)
args = (<frappe.migrate.SiteMigration object at 0x7f6ab7820430>,)
kwargs = {}
method = <function SiteMigration.post_schema_updates at 0x7f6ab53c5240>
File "/home/sulada/frappe-bench/apps/frappe/frappe/migrate.py", line 152, in post_schema_updates
frappe.get_attr(fn)()
self = <frappe.migrate.SiteMigration object at 0x7f6ab7820430>
app = 'hrms'
fn = 'hrms.setup.update_select_perm_after_install'
File "/home/sulada/frappe-bench/apps/frappe/frappe/__init__.py", line 1758, in get_attr
return getattr(get_module(modulename), methodname)
method_string = 'hrms.setup.update_select_perm_after_install'
app_name = 'hrms'
modulename = 'hrms.setup'
methodname = 'update_select_perm_after_install'
File "/home/sulada/frappe-bench/apps/frappe/frappe/__init__.py", line 1476, in get_module
return importlib.import_module(modulename)
modulename = 'hrms.setup'
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
name = 'hrms.setup'
package = None
level = 0
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
name = 'hrms.setup'
package = None
level = 0
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
name = 'hrms.setup'
import_ = <function _gcd_import at 0x7f6ab900b400>
module = <object object at 0x7f6ab9030060>
File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
name = 'hrms.setup'
import_ = <function _gcd_import at 0x7f6ab900b400>
path = ['/home/sulada/frappe-bench/apps/hrms/hrms']
parent = 'hrms'
parent_module = <module 'hrms' from '/home/sulada/frappe-bench/apps/hrms/hrms/__init__.py'>
spec = ModuleSpec(name='hrms.setup', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f6ab3780220>, origin='/home/sulada/frappe-bench/apps/hrms/hrms/setup.py')
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
spec = ModuleSpec(name='hrms.setup', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f6ab3780220>, origin='/home/sulada/frappe-bench/apps/hrms/hrms/setup.py')
module = <module 'hrms.setup' from '/home/sulada/frappe-bench/apps/hrms/hrms/setup.py'>
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
self = <_frozen_importlib_external.SourceFileLoader object at 0x7f6ab3780220>
module = <module 'hrms.setup' from '/home/sulada/frappe-bench/apps/hrms/hrms/setup.py'>
code = <code object <module> at 0x7f6ab3a2d370, file "/home/sulada/frappe-bench/apps/hrms/hrms/setup.py", line 1>
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
f = <built-in function exec>
args = (<code object <module> at 0x7f6ab3a2d370, file "/home/sulada/frappe-bench/apps/hrms/hrms/setup.py", line 1>, {'__name__': 'hrms.setup', '__doc__': None, '__package__': 'hrms', '__loader__': <_frozen_importlib_external.SourceFileLoader object at 0x7f6ab3780220>, '__spec__': ModuleSpec(name='hrms.setup', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f6ab3780220>, origin='/home/sulada/frappe-bench/apps/hrms/hrms/setup.py'), '__file__': '/home/sulada/frappe-bench/apps/hrms/hrms/setup.py', '__cached__': '/home/sulada/frappe-bench/apps/hrms/hrms/__pycache__/setup.cpython-310.pyc', '__builtins__': {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", '__package__': '', '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': ModuleSpec(name='builtins', loader=<class '_frozen_importlib.BuiltinImporter'>, origin='built-in'), '__build_class__': <built...
kwds = {}
File "/home/sulada/frappe-bench/apps/hrms/hrms/setup.py", line 5, in <module>
from frappe.desk.page.setup_wizard.install_fixtures import (
...skipped... 11 vars
builtins.ImportError: cannot import name '_' from 'frappe.desk.page.setup_wizard.install_fixtures' (/home/sulada/frappe-bench/apps/frappe/frappe/desk/page/setup_wizard/install_fixtures.py)
The hrms app shows up in the messages , there is a bench exclude-app command which supposedly prevents apps from being included in bench update, perhaps try that?
There is also an --overwrite option to bench get-app, unfortunately it isn’t well documented that I can find but if hrms could be reinstalled it might be worth trying that.