Install custom apps to Erpnext

Sorry that i am newbie in ERP NEXT.

I Installed ERP NEXT and bench start successfully run for 2 weeks.
But i need install another custom apps.

Then i run the command.
bench new-app myapp
bench install-app myapp
bench migrate

After that, the below error occur.

How i able to fix this.

Even if i bench uninstall-app myapp and remove it from sites/apps.txt.
The error still shown there.
How i revert or fix this, so i can get back to screen of erp next. I did a lot of customization in form and validation. I don’t want to redo all again >.<.

below is the full log:

{
“etype”: “<type ‘exceptions.ImportError’>”,
“evalue”: “ImportError(‘No module named myapp’,)”,
“exception”: {
“args”: “(‘No module named myapp’,)”,
“message”: “‘No module named myapp’”
},
“frames”: [
{
“call”: “(request=<Request ‘http://54.169.240.56:8000/desk’ [GET]>)”,
“dump”: {
“frappe. website”: “<module ‘frappe.website’ from ‘/home/ubuntu/frappe-bench/apps/frappe/frappe/website/init.pyc’>”,
“frappe.website. render”: “<module ‘frappe.website.render’ from ‘/home/ubun…ppe-bench/apps/frappe/frappe/website/render.pyc’>”,
“frappe.website.render. render”: “”,
“global frappe”: “<module ‘frappe’ from ‘/home/ubuntu/frappe-bench/apps/frappe/frappe/init.pyc’>”,
“response”: “None”
},
“file”: “/home/ubuntu/frappe-bench/apps/frappe/frappe/app.py”,
“func”: “application”,
“lines”: {
“68”: “”,
“69”: “\t\telif frappe.local.request.method in (‘GET’, ‘HEAD’):”,
“70”: “\t\t\tresponse = frappe.website.render.render()”,
“71”: “”,
“72”: “\t\telse:”
},
“lnum”: 70
},
{
“call”: “(path=u’error’, http_status_code=None)”,
“dump”: {
“data”: “None”,
“global render_page”: “”,
“path”: “u’error’”
},
“file”: “/home/ubuntu/frappe-bench/apps/frappe/frappe/website/render.py”,
“func”: “render”,
“lines”: {
“63”: “\t\texcept Exception:”,
“64”: “\t\t\tpath = "error"”,
“65”: “\t\t\tdata = render_page(path)”,
“66”: “\t\t\thttp_status_code = 500”,
“67”: “”
},
“lnum”: 65
},
{
“call”: “(path=u’error’)”,
“dump”: {
“global build”: “”,
“path”: “u’error’”
},
“file”: “/home/ubuntu/frappe-bench/apps/frappe/frappe/website/render.py”,
“func”: “render_page”,
“lines”: {
“115”: “\t\treturn out”,
“116”: “”,
“117”: “\treturn build(path)”,
“118”: “”,
“119”: “def build(path):”
},
“lnum”: 117
},
{
“call”: “(path=u’error’)”,
“dump”: {
“global build_page”: “”,
“path”: “u’error’”
},
“file”: “/home/ubuntu/frappe-bench/apps/frappe/frappe/website/render.py”,
“func”: “build”,
“lines”: {
“122”: “”,
“123”: “\ttry:”,
“124”: “\t\treturn build_page(path)”,
“125”: “\texcept frappe.DoesNotExistError:”,
“126”: “\t\thooks = frappe.get_hooks()”
},
“lnum”: 124
},
{
“call”: “(path=u’error’)”,
“dump”: {
“context”: “undefined”,
“global get_context”: “”,
“path”: “u’error’”
},
“file”: “/home/ubuntu/frappe-bench/apps/frappe/frappe/website/render.py”,
“func”: “build_page”,
“lines”: {
“135”: “\t\tfrappe.local.path = path”,
“136”: “”,
“137”: “\tcontext = get_context(path)”,
“138”: “”,
“139”: “\tif context.source:”
},
“lnum”: 137
},
{
“call”: “(path=u’error’, args=None)”,
“dump”: {
“context”: “undefined”,
“global get_page_context”: “”,
“path”: “u’error’”
},
“file”: “/home/ubuntu/frappe-bench/apps/frappe/frappe/website/context.py”,
“func”: “get_context”,
“lines”: {
“13”: “\t\tcontext = args”,
“14”: “\telse:”,
“15”: “\t\tcontext = get_page_context(path)”,
“16”: “\t\tif args:”,
“17”: “\t\t\tcontext.update(args)”
},
“lnum”: 15
},
{
“call”: “(path=u’error’)”,
“dump”: {
“global make_page_context”: “”,
“page_context”: “None”,
“path”: “u’error’”
},
“file”: “/home/ubuntu/frappe-bench/apps/frappe/frappe/website/router.py”,
“func”: “get_page_context”,
“lines”: {
“33”: “”,
“34”: “\tif not page_context:”,
“35”: “\t\tpage_context = make_page_context(path)”,
“36”: “\t\tif can_cache(page_context.no_cache):”,
“37”: “\t\t\tpage_context_cache[frappe.local.lang] = page_context”
},
“lnum”: 35
},
{
“call”: “(path=u’error’)”,
“dump”: {
“context”: “undefined”,
“global resolve_route”: “”,
“path”: “u’error’”
},
“file”: “/home/ubuntu/frappe-bench/apps/frappe/frappe/website/router.py”,
“func”: “make_page_context”,
“lines”: {
“42”: “”,
“43”: “def make_page_context(path):”,
“44”: “\tcontext = resolve_route(path)”,
“45”: “\tif not context:”,
“46”: “\t\traise frappe.DoesNotExistError”
},
“lnum”: 44
},
{
“call”: “(path=u’error’)”,
“dump”: {
“context”: “undefined”,
“global get_page_context_from_template”: “”,
“path”: “u’error’”
},
“file”: “/home/ubuntu/frappe-bench/apps/frappe/frappe/website/router.py”,
“func”: “resolve_route”,
“lines”: {
“16”: “\tfirst before checking the standard pages."""”,
“17”: “\tif path not in ("about", "contact"):”,
“18”: “\t\tcontext = get_page_context_from_template(path)”,
“19”: “\t\tif context:”,
“20”: “\t\t\treturn context”
},
“lnum”: 18
},
{
“call”: “(path=u’error’)”,
“dump”: {
“app”: “u’myapp’”,
“app_path”: “‘/home/ubuntu/frappe-bench/apps/erpnext/erpnext’”,
“frappe. get_app_path”: “”,
“global frappe”: “<module ‘frappe’ from ‘/home/ubuntu/frappe-bench/apps/frappe/frappe/init.pyc’>”
},
“file”: “/home/ubuntu/frappe-bench/apps/frappe/frappe/website/router.py”,
“func”: “get_page_context_from_template”,
“lines”: {
“58”: “\t’‘‘Return page_info from path’’'”,
“59”: “\tfor app in frappe.get_installed_apps(frappe_last=True):”,
“60”: “\t\tapp_path = frappe.get_app_path(app)”,
“61”: “”,
“62”: “\t\tfolders = frappe.local.flags.web_pages_folders or (‘www’, ‘templates/pages’)”
},
“lnum”: 60
},
{
“call”: “(app_name=u’myapp’, *joins=())”,
“dump”: {
“app_name”: “u’myapp’”,
“global get_pymodule_path”: “”,
“joins”: “()”
},
“file”: “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”,
“func”: “get_app_path”,
“lines”: {
“693”: “\t:param app: App name.”,
“694”: “\t:param *joins: Join additional path elements using os.path.join."""”,
“695”: “\treturn get_pymodule_path(app_name, *joins)”,
“696”: “”,
“697”: “def get_site_path(*joins):”
},
“lnum”: 695
},
{
“call”: “(modulename=u’myapp’, *joins=[])”,
“dump”: {
“).file”: “undefined”,
“global get_module”: “”,
“global os”: “<module ‘os’ from ‘/home/ubuntu/frappe-bench/env/lib/python2.7/os.pyc’>”,
“global scrub”: “”,
“joins”: “[]”,
“modulename”: “u’myapp’”,
“os. path”: “<module ‘posixpath’ from ‘/home/ubuntu/frappe-bench/env/lib/python2.7/posixpath.pyc’>”,
“os.path. dirname”: “”,
“os.path. join”: “”
},
“file”: “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”,
“func”: “get_pymodule_path”,
“lines”: {
“708”: “\tif not "public" in joins:”,
“709”: “\t\tjoins = [scrub(part) for part in joins]”,
“710”: “\treturn os.path.join(os.path.dirname(get_module(scrub(modulename)).file), *joins)”,
“711”: “”,
“712”: “def get_module_list(app_name):”
},
“lnum”: 710
},
{
“call”: “(modulename=u’myapp’)”,
“dump”: {
“global importlib”: “<module ‘importlib’ from ‘/usr/lib/python2.7/importlib/init.pyc’>”,
“importlib. import_module”: “”,
“modulename”: “u’myapp’”
},
“file”: “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”,
“func”: “get_module”,
“lines”: {
“670”: “def get_module(modulename):”,
“671”: “\t"""Returns a module object for given Python module name using importlib.import_module."""”,
“672”: “\treturn importlib.import_module(modulename)”,
“673”: “”,
“674”: “def scrub(txt):”
},
“lnum”: 672
},
{
“call”: “(name=u’myapp’, package=None)”,
“dump”: {
“builtin import”: “”,
“name”: “u’myapp’”
},
“file”: “/usr/lib/python2.7/importlib/init.py”,
“func”: “import_module”,
“lines”: {
“34”: " break",
“35”: " level += 1",
“36”: " name = _resolve_name(name[level:], package, level)“,
“37”: " import(name)”,
“38”: " return sys.modules[name]"
},
“lnum”: 37
}
],
“locals”: {
“name”: “u’myapp’”,
“package”: “None”
},
“pyver”: “Python 2.7.12: /home/ubuntu/frappe-bench/env/bin/python (prefix: /home/ubuntu/frappe-bench/env)”,
“timestamp”: “2017-05-09 04:12:39.332481”,
“traceback”: “Traceback (most recent call last):\n File "/home/ubuntu/frappe-bench/apps/frappe/frappe/app.py", line 70, in application\n response = frappe.website.render.render()\n File "/home/ubuntu/frappe-bench/apps/frappe/frappe/website/render.py", line 65, in render\n data = render_page(path)\n File "/home/ubuntu/frappe-bench/apps/frappe/frappe/website/render.py", line 117, in render_page\n return build(path)\n File "/home/ubuntu/frappe-bench/apps/frappe/frappe/website/render.py", line 124, in build\n return build_page(path)\n File "/home/ubuntu/frappe-bench/apps/frappe/frappe/website/render.py", line 137, in build_page\n context = get_context(path)\n File "/home/ubuntu/frappe-bench/apps/frappe/frappe/website/context.py", line 15, in get_context\n context = get_page_context(path)\n File "/home/ubuntu/frappe-bench/apps/frappe/frappe/website/router.py", line 35, in get_page_context\n page_context = make_page_context(path)\n File "/home/ubuntu/frappe-bench/apps/frappe/frappe/website/router.py", line 44, in make_page_context\n context = resolve_route(path)\n File "/home/ubuntu/frappe-bench/apps/frappe/frappe/website/router.py", line 18, in resolve_route\n context = get_page_context_from_template(path)\n File "/home/ubuntu/frappe-bench/apps/frappe/frappe/website/router.py", line 60, in get_page_context_from_template\n app_path = frappe.get_app_path(app)\n File "/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py", line 695, in get_app_path\n return get_pymodule_path(app_name, *joins)\n File "/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py", line 710, in get_pymodule_path\n return os.path.join(os.path.dirname(get_module(scrub(modulename)).file), *joins)\n File "/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py", line 672, in get_module\n return importlib.import_module(modulename)\n File "/usr/lib/python2.7/importlib/init.py", line 37, in import_module\n import(name)\nImportError: No module named myapp\n”
}

Check this - Make a New App