aerele / pwa-builder

PWA Builder is a tool designed to help users create PWA based mobile apps connected to their Frappe sites.
MIT License
29 stars 19 forks source link

Failed to install app #9

Open phablousGh opened 1 day ago

phablousGh commented 1 day ago

frappe@me-Latitude-5480:~/frappe-bench$ bench --site localhost.com install-app pwa_builder

Installing pwa_builder... An error occurred while installing pwa_builder: Module import failed for PWA GitHub Integration, the DocType you're trying to open might be deleted.
Error: No module named 'gitdb.utils.compat' Traceback with variables (most recent call last): File "apps/frappe/frappe/commands/site.py", line 445, in install_app _install_app(app, verbose=context.verbose, force=force) context = {'sites': ['localhost.com'], 'force': False, 'verbose': False, 'profile': False} apps = ('pwa_builder',) force = False _install_app = <function install_app at 0x79ba501ac430> filelock = <function filelock at 0x79ba501ac0d0> exit_code = 0 site = 'localhost.com' app = 'pwa_builder' err = ImportError("Module import failed for PWA GitHub Integration, the DocType you're trying to open might be deleted.
Error: No module named 'gitdb.utils.compat'") File "apps/frappe/frappe/installer.py", line 301, in install_app sync_for(name, force=force, reset_permissions=True) name = 'pwa_builder' verbose = False set_as_patched = True force = False sync_jobs = <function sync_jobs at 0x79ba4e8ecf70> sync_for = <function sync_for at 0x79ba4e8eda20> sync_customizations = <function sync_customizations at 0x79ba5011edd0> sync_fixtures = <function sync_fixtures at 0x79ba4e8edc60> app_hooks = {'app_description': ['Build PWA App using Frappe UI for Frappe'], 'app_email': ['hello@aerele.in'], 'app_license': ['mit'], 'app_name': ['pwa_builder'], 'app_publisher': ['Aerele Technologies Private Limited'], 'app_title': ['PWA Builder'], 'website_route_rules': [{'from_route': '/frontend/', 'to_route': 'frontend'}, {'from_route': '/frontend/', 'to_route': 'frontend'}]} installed_apps = ['frappe', 'erpnext', 'gh_customize', 'hrms', 'whitelabel', 'lending', 'cs_hrms', 'ex_label', 'in_house', 'active_users', 'ex_restaurant', 'restaurant_management', 'hospitality', 'drive'] File "apps/frappe/frappe/model/sync.py", line 111, in sync_for import_file_by_path( app_name = 'pwa_builder' force = False reset_permissions = True files = ['apps/pwa_builder/pwa_builder/pwa_builder/doctype/pwa_github_integration/pwa_github_integration.json', 'apps/pwa_builder/pwa_builder/pwa_builder/doctype/pwa_doctype/pwa_doctype.json', 'apps/pwa_builder/pwa_builder/pwa_builder/doctype/pwa_project/pwa_project.json'] module_name = 'pwa_builder' folder = 'apps/pwa_builder/pwa_builder/pwa_builder' l = 3 i = 0 doc_path = 'apps/pwa_builder/pwa_builder/pwa_builder/doctype/pwa_github_integration/pwa_github_integration.json' File "apps/frappe/frappe/modules/import_file.py", line 146, in import_file_by_path import_doc( path = 'apps/pwa_builder/pwa_builder/pwa_builder/doctype/pwa_github_integration/pwa_github_integration.json' force = False data_import = False pre_process = None ignore_version = True reset_permissions = True docs = [{'actions': [], 'allow_rename': 1, 'creation': '2024-08-21 16:02:59.477979', 'doctype': 'DocType', 'engine': 'InnoDB', 'fields': [{'fieldname': 'github_username', 'fieldtype': 'Data', 'label': 'GitHub Username', 'doctype': 'DocField'}, {'default': '0', 'fieldname': 'push_repository_to_an_organization', 'fieldtype': 'Check', 'label': 'Push repository to an organization', 'doctype': 'DocField'}, {'depends_on': 'eval:doc.push_repository_to_an_organization', 'fieldname': 'organization_name', 'fieldtype': 'Data', 'label': 'Organization Name', 'mandatory_depends_on': 'push_repository_to_an_organization', 'doctype': 'DocField'}, {'fieldname': 'column_break_fcrv', 'fieldtype': 'Column Break', 'doctype': 'DocField'}, {'fieldname': 'access_token', 'fieldtype': 'Password', 'label': 'Access Token', 'doctype': 'DocField'}, {'default': '0', 'fieldname': 'is_private', 'fieldtype': 'Check', 'label': 'Is Private', 'doctype': 'DocField'}, {'default': 'New Commit', 'fieldname': 'get_exports_on', 'fieldt... calculated_hash = 'ac6bb0f45ee53b09064df022eb2252ec' doc = {'actions': [], 'allow_rename': 1, 'creation': '2024-08-21 16:02:59.477979', 'doctype': 'DocType', 'engine': 'InnoDB', 'fields': [{'fieldname': 'github_username', 'fieldtype': 'Data', 'label': 'GitHub Username', 'doctype': 'DocField'}, {'default': '0', 'fieldname': 'push_repository_to_an_organization', 'fieldtype': 'Check', 'label': 'Push repository to an organization', 'doctype': 'DocField'}, {'depends_on': 'eval:doc.push_repository_to_an_organization', 'fieldname': 'organization_name', 'fieldtype': 'Data', 'label': 'Organization Name', 'mandatory_depends_on': 'push_repository_to_an_organization', 'doctype': 'DocField'}, {'fieldname': 'column_break_fcrv', 'fieldtype': 'Column Break', 'doctype': 'DocField'}, {'fieldname': 'access_token', 'fieldtype': 'Password', 'label': 'Access Token', 'doctype': 'DocField'}, {'default': '0', 'fieldname': 'is_private', 'fieldtype': 'Check', 'label': 'Is Private', 'doctype': 'DocField'}, {'default': 'New Commit', 'fieldname': 'get_exports_on', 'fieldty... 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 = {'actions': [], 'allow_rename': 1, 'creation': '2024-08-21 16:02:59.477979', 'doctype': 'DocType', 'engine': 'InnoDB', 'fields': [{'fieldname': 'github_username', 'fieldtype': 'Data', 'label': 'GitHub Username', 'doctype': 'DocField'}, {'default': '0', 'fieldname': 'push_repository_to_an_organization', 'fieldtype': 'Check', 'label': 'Push repository to an organization', 'doctype': 'DocField'}, {'depends_on': 'eval:doc.push_repository_to_an_organization', 'fieldname': 'organization_name', 'fieldtype': 'Data', 'label': 'Organization Name', 'mandatory_depends_on': 'push_repository_to_an_organization', 'doctype': 'DocField'}, {'fieldname': 'column_break_fcrv', 'fieldtype': 'Column Break', 'doctype': 'DocField'}, {'fieldname': 'access_token', 'fieldtype': 'Password', 'label': 'Access Token', 'doctype': 'DocField'}, {'default': '0', 'fieldname': 'is_private', 'fieldtype': 'Check', 'label': 'Is Private', 'doctype': 'DocField'}, {'default': 'New Commit', 'fieldname': 'get_exports_on', 'fieldty... data_import = False pre_process = None ignore_version = True reset_permissions = True path = 'apps/pwa_builder/pwa_builder/pwa_builder/doctype/pwa_github_integration/pwa_github_integration.json' controller = <class 'frappe.core.doctype.doctype.doctype.DocType'> doc = File "apps/frappe/frappe/model/document.py", line 315, in insert self.run_post_save_methods() self = ignore_permissions = None ignore_links = None ignore_if_duplicate = False ignore_mandatory = None set_name = None set_child_names = True d = File "apps/frappe/frappe/model/document.py", line 1128, in run_post_save_methods self.run_method("on_update") self = File "apps/frappe/frappe/model/document.py", line 962, in run_method out = Document.hook(fn)(self, *args, kwargs) self = args = () kwargs = {} fn = <function Document.run_method..fn at 0x79ba4157e0e0> method = 'on_update' File "apps/frappe/frappe/model/document.py", line 1322, in composer return composed(self, method, *args, kwargs) self = args = () kwargs = {} hooks = [<function build_domain_restriced_doctype_cache at 0x79ba5011dcf0>, <function clear_doctype_notifications at 0x79ba416a1870>, <function process_workflow_actions at 0x79ba416c4ee0>, <function attach_files_to_document at 0x79ba4ed63490>, <function apply at 0x79ba416c7880>, <function update_due_date at 0x79ba416c7910>, <function apply_permissions_for_non_standard_user_type at 0x79ba416dd1b0>] method = 'on_update' doc_events = {'': {'on_update': ['frappe.desk.notifications.clear_doctype_notifications', 'frappe.workflow.doctype.workflow_action.workflow_action.process_workflow_actions', 'frappe.core.doctype.file.utils.attach_files_to_document', 'frappe.automation.doctype.assignment_rule.assignment_rule.apply', 'frappe.automation.doctype.assignment_rule.assignment_rule.update_due_date', 'frappe.core.doctype.user_type.user_type.apply_permissions_for_non_standard_user_type'], 'after_rename': ['frappe.desk.notifications.clear_doctype_notifications'], 'on_cancel': ['frappe.desk.notifications.clear_doctype_notifications', 'frappe.workflow.doctype.workflow_action.workflow_action.process_workflow_actions', 'frappe.automation.doctype.assignment_rule.assignment_rule.apply'], 'on_trash': ['frappe.desk.notifications.clear_doctype_notifications', 'frappe.workflow.doctype.workflow_action.workflow_action.process_workflow_actions'], 'on_update_after_submit': ['frappe.workflow.doctype.workflow_action.workflow_action.process_w... handler = 'frappe.core.doctype.user_type.user_type.apply_permissions_for_non_standard_user_type' composed = <function Document.hook..compose..runner at 0x79ba4157e050> compose = <function Document.hook..compose at 0x79ba4157df30> f = <function Document.run_method..fn at 0x79ba4157e0e0> File "apps/frappe/frappe/model/document.py", line 1304, in runner add_to_return_value(self, fn(self, args, kwargs)) self = method = 'on_update' args = () kwargs = {} add_to_return_value = <function Document.hook..add_to_return_value at 0x79ba4157e320> fn = <function Document.run_method..fn at 0x79ba4157e0e0> hooks = (<function build_domain_restriced_doctype_cache at 0x79ba5011dcf0>, <function clear_doctype_notifications at 0x79ba416a1870>, <function process_workflow_actions at 0x79ba416c4ee0>, <function attach_files_to_document at 0x79ba4ed63490>, <function apply at 0x79ba416c7880>, <function update_due_date at 0x79ba416c7910>, <function apply_permissions_for_non_standard_user_type at 0x79ba416dd1b0>) File "apps/frappe/frappe/model/document.py", line 959, in fn return method_object(*args, kwargs) self = args = () kwargs = {} method_object = <bound method DocType.on_update of > method = 'on_update' File "apps/frappe/frappe/core/doctype/doctype/doctype.py", line 531, in on_update self.run_module_method("on_doctype_update") self = allow_doctype_export = False File "apps/frappe/frappe/core/doctype/doctype/doctype.py", line 629, in run_module_method module = load_doctype_module(self.name, self.module) self = method = 'on_doctype_update' load_doctype_module = <function load_doctype_module at 0x79ba5011f370> File "apps/frappe/frappe/modules/utils.py", line 254, in load_doctype_module raise ImportError(msg) from e doctype = 'PWA GitHub Integration' module = 'PWA Builder' prefix = '' suffix = '' app = 'pwa_builder' key = **** module_name = 'pwa_builder.pwa_builder.doctype.pwa_github_integration.pwa_github_integration' msg = "Module import failed for PWA GitHub Integration, the DocType you're trying to open might be deleted.
Error: No module named 'gitdb.utils.compat'" builtins.ImportError: Module import failed for PWA GitHub Integration, the DocType you're trying to open might be deleted.
Error: No module named 'gitdb.utils.compat'

praveensleeps commented 8 hours ago

installing the following helped me. Not sure if this is the recommended way.

pip install --upgrade GitPython==2.1.15
pip install --upgrade gitdb2==2.0.6 gitdb==0.6.4

You can check the reference link here. https://discuss.frappe.io/t/need-help-with-an-error-during-bench-update-no-module-named-gitdb-utils-compat/65803/2