install error on ERPNext: v15.75.1 (version-15) Frappe Framework: v15.77.0 (version-15)
frappeuser@vmi2762472:~/frappe-bench$ bench install-app csf_tz
Installing csf_tz...
Updating DocTypes for csf_tz : [=== ] 9%An error occurred while installing csf_tz: Module import failed for Student Applicant Fees, the DocType you're trying to open might be deleted.
Error: cannot import name 'url_fix' from 'werkzeug' (/home/frappeuser/frappe-bench/env/lib/python3.12/site-packages/werkzeug/init.py)
Traceback with variables (most recent call last):
File "apps/frappe/frappe/commands/site.py", line 484, in install_app
_install_app(app, verbose=context.verbose, force=force)
context = {'sites': ['jessel-test.duckdns.org'], 'force': False, 'verbose': False, 'profile': False}
apps = ('csf_tz',)
force = False
_install_app = <function install_app at 0x76f3e4d16ca0>
filelock = <function filelock at 0x76f3e69231a0>
exit_code = 0
site = 'jessel-test.duckdns.org'
app = 'csf_tz'
err = ImportError("Module import failed for Student Applicant Fees, the DocType you're trying to open might be deleted.\nError: cannot import name 'url_fix' from 'werkzeug' (env/lib/python3.12/site-packages/werkzeug/init.py)")
File "apps/frappe/frappe/installer.py", line 316, in install_app
sync_for(name, force=force, reset_permissions=True)
name = 'csf_tz'
verbose = False
set_as_patched = True
force = False
sync_jobs = <function sync_jobs at 0x76f3e4d7a020>
sync_for = <function sync_for at 0x76f3e4d7ad40>
sync_customizations = <function sync_customizations at 0x76f3e6965f80>
sync_fixtures = <function sync_fixtures at 0x76f3e4d7b060>
app_hooks = {'app_color': ['green'], 'app_description': ['Country Specific Functionality Tanzania'], 'app_email': ['[email protected]'], 'app_icon': ['octicon octicon-bookmark'], 'app_include_css': ['/assets/csf_tz/css/theme.css'], 'app_include_js': ['/assets/js/select_dialog.min.js', '/assets/js/to_console.min.js', '/assets/js/jobcards.min.js', '/assets/csf_tz/node_modules/vuetify/dist/vuetify.js'], 'app_license': ['GNU General Public License (v3)'], 'app_name': ['csf_tz'], 'app_publisher': ['Aakvatech'], 'app_title': ['CSF TZ'], 'app_version': ['2.1.0'], 'doc_events': {'Open Invoice Exchange Rate Revaluation': {'validate': ['csf_tz.custom_api.getInvoiceExchangeRate']}, 'Sales Invoice': {'before_submit': ['csf_tz.custom_api.validate_grand_total'], 'on_submit': ['csf_tz.custom_api.validate_net_rate', 'csf_tz.custom_api.create_delivery_note', 'csf_tz.custom_api.check_submit_delivery_note', 'csf_tz.custom_api.make_withholding_tax_gl_entries_for_sales'], 'validate': ['csf_tz.custom_api.check_validat...
installed_apps = ['frappe', 'erpnext']
File "apps/frappe/frappe/model/sync.py", line 111, in sync_for
import_file_by_path(
app_name = 'csf_tz'
force = False
reset_permissions = True
files = ['apps/csf_tz/csf_tz/csf_tz/doctype/price_change_request_detail/price_change_request_detail.json', 'apps/csf_tz/csf_tz/csf_tz/doctype/nmb_callback/nmb_callback.json', 'apps/csf_tz/csf_tz/csf_tz/doctype/payment_reconciliation_pro_payment/payment_reconciliation_pro_payment.json', 'apps/csf_tz/csf_tz/csf_tz/doctype/special_closing_balance_detail/special_closing_balance_detail.json', 'apps/csf_tz/csf_tz/csf_tz/doctype/document_attachment/document_attachment.json', 'apps/csf_tz/csf_tz/csf_tz/doctype/open_invoice_exchange_rate_revaluation/open_invoice_exchange_rate_revaluation.json', 'apps/csf_tz/csf_tz/csf_tz/doctype/special_closing_balance/special_closing_balance.json', 'apps/csf_tz/csf_tz/csf_tz/doctype/piecework_single/piecework_single.json', '/home/fr...
module_name = 'workshop'
folder = 'apps/csf_tz/csf_tz/workshop'
l = 324
i = 31
doc_path = 'apps/csf_tz/csf_tz/csf_tz/doctype/student_applicant_fees/student_applicant_fees.json'
File "apps/frappe/frappe/modules/import_file.py", line 146, in import_file_by_path
import_doc(
path = 'apps/csf_tz/csf_tz/csf_tz/doctype/student_applicant_fees/student_applicant_fees.json'
force = False
data_import = False
pre_process = None
ignore_version = True
reset_permissions = True
docs = [{'allow_import': 1, 'autoname': 'naming_series:', 'creation': '2020-08-22 23:55:57.796292', 'doctype': 'DocType', 'document_type': 'Document', 'engine': 'InnoDB', 'fields': [{'fieldname': 'naming_series', 'fieldtype': 'Select', 'label': 'Naming Series', 'options': 'RFEE-.abbr.-.YY.-', 'print_hide': 1, 'set_only_once': 1, 'doctype': 'DocField'}, {'fieldname': 'student', 'fieldtype': 'Link', 'in_global_search': 1, 'label': 'Student Applicant', 'options': 'Student Applicant', 'reqd': 1, 'doctype': 'DocField'}, {'fetch_from': 'student.title', 'fieldname': 'student_name', 'fieldtype': 'Data', 'in_global_search': 1, 'label': 'Student Applicant Name', 'read_only': 1, 'doctype': 'DocField'}, {'fieldname': 'fee_schedule', 'fieldtype': 'Link', 'in_global_search': 1, 'label': 'Fee Schedule', 'options': 'Fee Schedule', 'print_hide': 1, 'read_only': 1, 'doctype': 'DocField'}, {'default': '0', 'fieldname': 'include_payment', 'fieldtype': 'Check', 'hidden': 1, 'label': 'Include Payment', 'print_hide...
calculated_hash = 'd4fbaf0cc0f6d57d13092aad9a3dfd0b'
doc = {'allow_import': 1, 'autoname': 'naming_series:', 'creation': '2020-08-22 23:55:57.796292', 'doctype': 'DocType', 'document_type': 'Document', 'engine': 'InnoDB', 'fields': [{'fieldname': 'naming_series', 'fieldtype': 'Select', 'label': 'Naming Series', 'options': 'RFEE-.abbr.-.YY.-', 'print_hide': 1, 'set_only_once': 1, 'doctype': 'DocField'}, {'fieldname': 'student', 'fieldtype': 'Link', 'in_global_search': 1, 'label': 'Student Applicant', 'options': 'Student Applicant', 'reqd': 1, 'doctype': 'DocField'}, {'fetch_from': 'student.title', 'fieldname': 'student_name', 'fieldtype': 'Data', 'in_global_search': 1, 'label': 'Student Applicant Name', 'read_only': 1, 'doctype': 'DocField'}, {'fieldname': 'fee_schedule', 'fieldtype': 'Link', 'in_global_search': 1, 'label': 'Fee Schedule', 'options': 'Fee Schedule', 'print_hide': 1, 'read_only': 1, 'doctype': 'DocField'}, {'default': '0', 'fieldname': 'include_payment', 'fieldtype': 'Check', 'hidden': 1, 'label': 'Include Payment', 'print_hide'...
db_modified_timestamp = None
is_db_timestamp_latest = None
File "apps/frappe/frappe/modules/import_file.py", line 239, in import_doc
doc.insert()
docdict = {'allow_import': 1, 'autoname': 'naming_series:', 'creation': '2020-08-22 23:55:57.796292', 'doctype': 'DocType', 'document_type': 'Document', 'engine': 'InnoDB', 'fields': [{'fieldname': 'naming_series', 'fieldtype': 'Select', 'label': 'Naming Series', 'options': 'RFEE-.abbr.-.YY.-', 'print_hide': 1, 'set_only_once': 1, 'doctype': 'DocField'}, {'fieldname': 'student', 'fieldtype': 'Link', 'in_global_search': 1, 'label': 'Student Applicant', 'options': 'Student Applicant', 'reqd': 1, 'doctype': 'DocField'}, {'fetch_from': 'student.title', 'fieldname': 'student_name', 'fieldtype': 'Data', 'in_global_search': 1, 'label': 'Student Applicant Name', 'read_only': 1, 'doctype': 'DocField'}, {'fieldname': 'fee_schedule', 'fieldtype': 'Link', 'in_global_search': 1, 'label': 'Fee Schedule', 'options': 'Fee Schedule', 'print_hide': 1, 'read_only': 1, 'doctype': 'DocField'}, {'default': '0', 'fieldname': 'include_payment', 'fieldtype': 'Check', 'hidden': 1, 'label': 'Include Payment', 'print_hide'...
data_import = False
pre_process = None
ignore_version = True
reset_permissions = True
path = 'apps/csf_tz/csf_tz/csf_tz/doctype/student_applicant_fees/student_applicant_fees.json'
controller = <class 'frappe.core.doctype.doctype.doctype.DocType'>
doc = <DocType: Student Applicant Fees>
File "apps/frappe/frappe/model/document.py", line 334, in insert
self.run_post_save_methods()
self = <DocType: Student Applicant Fees>
ignore_permissions = None
ignore_links = None
ignore_if_duplicate = False
ignore_mandatory = None
set_name = None
set_child_names = True
d = <DocPerm: bd4uj7qat3 parent=Student Applicant Fees>
File "apps/frappe/frappe/model/document.py", line 1173, in run_post_save_methods
self.run_method("on_update")
self = <DocType: Student Applicant Fees>
File "apps/frappe/frappe/model/document.py", line 1007, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
self = <DocType: Student Applicant Fees>
method = 'on_update'
args = ()
kwargs = {}
fn = <function Document.run_method.