I keep getting this error message even if I create a new custom app.
Here are the commands that I issued to create a new app and its output.
yogesh@vmi934079:~/erp13$ bench new-app mm
App Title (default: Mm):
App Description: mm
App Publisher: mm
App Email: mm@mm.com
App Icon (default 'octicon octicon-file-directory'):
App Color (default 'grey'):
App License (default 'MIT'):
'mm' created at /home/yogesh/erp13/apps/mm
Installing mm
$ /home/yogesh/erp13/env/bin/python -m pip install --quiet --upgrade -e /home/yogesh/erp13/apps/mm
$ bench build --app mm
β Application Assets Linked
yarn run v1.22.19
$ FRAPPE_ENV=production node rollup/build.js --app mm
Production mode
β Built js/moment-bundle.min.js
β Built js/libs.min.js
Done in 1.04s.
yogesh@vmi934079:~/erp13$ bench install-app mm
Installing mm...
yogesh@vmi934079:~/erp13$ bench migrate
Migrating erp13
Updating DocTypes for frappe : [========================================] 100%
Updating DocTypes for erpnext : [========================================] 100%
Updating Dashboard for frappe
Updating Dashboard for erpnext
Updating Dashboard for mm
Updating customizations for Address
Updating customizations for Contact
Building search index for erp13
Retrieving Routes : [========================================] 100%
Building Index : [========================================] 100%
yogesh@vmi934079:~/erp13$ bench restart
yogesh@vmi934079:~/erp13$
After this when I refresh my browser I get the error.
ModuleNotFoundError
ModuleNotFoundError: No module named 'mm'
Traceback (most recent call last)
File "/home/yogesh/erp13/apps/frappe/frappe/app.py", line 78, in application
response = frappe.website.render.render()
File "/home/yogesh/erp13/apps/frappe/frappe/website/render.py", line 54, in render
elif is_static_file(path):
File "/home/yogesh/erp13/apps/frappe/frappe/website/render.py", line 127, in is_static_file
file_path = frappe.get_app_path(app, "www") + "/" + path
File "/home/yogesh/erp13/apps/frappe/frappe/__init__.py", line 1227, in get_app_path
return get_pymodule_path(app_name, *joins)
File "/home/yogesh/erp13/apps/frappe/frappe/__init__.py", line 1244, in get_pymodule_path
return os.path.join(os.path.dirname(get_module(scrub(modulename)).__file__ or ""), *joins)
File "/home/yogesh/erp13/apps/frappe/frappe/__init__.py", line 1200, in get_module
return importlib.import_module(modulename)
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
During handling of the above exception, another exception occurred:
File "/home/yogesh/erp13/apps/frappe/frappe/middlewares.py", line 18, in __call__
return super(StaticDataMiddleware, self).__call__(environ, start_response)
File "/home/yogesh/erp13/env/lib/python3.10/site-packages/werkzeug/middleware/shared_data.py", line 220, in __call__
return self.app(environ, start_response)
File "/home/yogesh/erp13/env/lib/python3.10/site-packages/werkzeug/middleware/shared_data.py", line 220, in __call__
return self.app(environ, start_response)
File "/home/yogesh/erp13/env/lib/python3.10/site-packages/werkzeug/local.py", line 231, in application
return ClosingIterator(app(environ, start_response), self.cleanup)
File "/home/yogesh/erp13/env/lib/python3.10/site-packages/werkzeug/wrappers/base_request.py", line 237, in application
resp = f(*args[:-2] + (request,))
File "/home/yogesh/erp13/apps/frappe/frappe/app.py", line 90, in application
response = handle_exception(e)
File "/home/yogesh/erp13/apps/frappe/frappe/app.py", line 290, in handle_exception
response = frappe.website.render.render("message", http_status_code=http_status_code)
File "/home/yogesh/erp13/apps/frappe/frappe/website/render.py", line 54, in render
elif is_static_file(path):
File "/home/yogesh/erp13/apps/frappe/frappe/website/render.py", line 127, in is_static_file
file_path = frappe.get_app_path(app, "www") + "/" + path
File "/home/yogesh/erp13/apps/frappe/frappe/__init__.py", line 1227, in get_app_path
return get_pymodule_path(app_name, *joins)
File "/home/yogesh/erp13/apps/frappe/frappe/__init__.py", line 1244, in get_pymodule_path
return os.path.join(os.path.dirname(get_module(scrub(modulename)).__file__ or ""), *joins)
File "/home/yogesh/erp13/apps/frappe/frappe/__init__.py", line 1200, in get_module
return importlib.import_module(modulename)
File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'mm'
The debugger caught an exception in your WSGI application. You can now look at the traceback which led to the error.
To switch between the interactive traceback and the plaintext one, you can click on the "Traceback" headline. From the text traceback you can also create a paste of it. For code execution mouse-over the frame you want to debug and click on the console icon on the right side.
You can execute arbitrary Python code in the stack frames and there are some extra helpers available for introspection:
dump() shows all variables in the frame
dump(obj) dumps all that's known about the object
Brought to you by DON'T PANIC, your friendly Werkzeug powered traceback interpreter.
What to do and how to solve this problem?
Regards,