Issues with EasyInstall Script [Debian 10/Ubuntu 20]

Not sure what is happening, but i;ve been stuck on this for a long time. I’ve now tested 4x new installs and it seems to hang on this bit:

It seems to fail at installing/setting up the site1.local. Any help would be much appreciated.

TASK [bench : Create a new site] ************************************************************************************************************************************************************************************************************
task path: /tmp/.bench/bench/playbooks/roles/bench/tasks/setup_erpnext.yml:17
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root
<127.0.0.1> EXEC /bin/sh -c 'echo ~root && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /var/tmp/ansible-tmp-1603677325.6708467-66754745120399 `" && echo ansible-tmp-1603677325.6708467-66754745120399="` echo /var/tmp/ansible-tmp-1603677325.6708467-66754745120399 `" ) && sleep 0'
Using module file /usr/local/lib/python3.8/dist-packages/ansible/modules/commands/command.py
<127.0.0.1> PUT /root/.ansible/tmp/ansible-local-54070wtmllggj/tmpt7bt_9ma TO /var/tmp/ansible-tmp-1603677325.6708467-66754745120399/AnsiballZ_command.py
<127.0.0.1> EXEC /bin/sh -c 'setfacl -m u:frappe:r-x /var/tmp/ansible-tmp-1603677325.6708467-66754745120399/ /var/tmp/ansible-tmp-1603677325.6708467-66754745120399/AnsiballZ_command.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'sudo -H -S -n  -u frappe /bin/sh -c '"'"'echo BECOME-SUCCESS-vtwmhmcjvhdzqdfdijwetpmyhzdttofr ; /usr/bin/python3 /var/tmp/ansible-tmp-1603677325.6708467-66754745120399/AnsiballZ_command.py'"'"' && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /var/tmp/ansible-tmp-1603677325.6708467-66754745120399/ > /dev/null 2>&1 && sleep 0'
fatal: [localhost]: FAILED! => {
    "changed": true,
    "cmd": [
        "bench",
        "new-site",
        "site1.local",
        "--admin-password",
        "123Pass",
        "--mariadb-root-password",
        "frappe"
    ],
    "delta": "0:00:00.987268",
    "end": "2020-10-26 01:55:26.812103",
    "invocation": {
        "module_args": {
            "_raw_params": "bench new-site site1.local --admin-password '123Pass' --mariadb-root-password 'frappe'",
            "_uses_shell": false,
            "argv": null,
            "chdir": "/home/frappe/frappe-bench",
            "creates": null,
            "executable": null,
            "removes": null,
            "stdin": null,
            "stdin_add_newline": true,
            "strip_empty_ends": true,
            "warn": true
        }
    },
    "msg": "non-zero return code",
    "rc": 1,
    "start": "2020-10-26 01:55:25.824835",
    "stderr": "Traceback (most recent call last):\n  File \"/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py\", line 66, in get_app_commands\n    app_command_module = importlib.import_module(app + '.commands')\n  File \"/usr/lib/python3.8/importlib/__init__.py\", line 127, in import_module\n    return _bootstrap._gcd_import(name[level:], package, level)\n  File \"<frozen importlib._bootstrap>\", line 1014, in _gcd_import\n  File \"<frozen importlib._bootstrap>\", line 991, in _find_and_load\n  File \"<frozen importlib._bootstrap>\", line 961, in _find_and_load_unlocked\n  File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed\n  File \"<frozen importlib._bootstrap>\", line 1014, in _gcd_import\n  File \"<frozen importlib._bootstrap>\", line 991, in _find_and_load\n  File \"<frozen importlib._bootstrap>\", line 973, in _find_and_load_unlocked\nModuleNotFoundError: No module named 'erpnext'\nTraceback (most recent call last):\n  File \"/usr/lib/python3.8/runpy.py\", line 194, in _run_module_as_main\n    return _run_code(code, main_globals, None,\n  File \"/usr/lib/python3.8/runpy.py\", line 87, in _run_code\n    exec(code, run_globals)\n  File \"/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py\", line 97, in <module>\n    main()\n  File \"/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py\", line 18, in main\n    click.Group(commands=commands)(prog_name='bench')\n  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 829, in __call__\n    return self.main(*args, **kwargs)\n  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 782, in main\n    rv = self.invoke(ctx)\n  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 1259, in invoke\n    return _process_result(sub_ctx.command.invoke(sub_ctx))\n  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 1259, in invoke\n    return _process_result(sub_ctx.command.invoke(sub_ctx))\n  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 1066, in invoke\n    return ctx.invoke(self.callback, **ctx.params)\n  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 610, in invoke\n    return callback(*args, **kwargs)\n  File \"/home/frappe/frappe-bench/apps/frappe/frappe/commands/site.py\", line 32, in new_site\n    frappe.init(site=site, new_site=True)\n  File \"/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py\", line 174, in init\n    setup_module_map()\n  File \"/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py\", line 980, in setup_module_map\n    for module in get_module_list(app):\n  File \"/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py\", line 850, in get_module_list\n    return get_file_items(os.path.join(os.path.dirname(get_module(app_name).__file__), \"modules.txt\"))\n  File \"/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py\", line 808, in get_module\n    return importlib.import_module(modulename)\n  File \"/usr/lib/python3.8/importlib/__init__.py\", line 127, in import_module\n    return _bootstrap._gcd_import(name[level:], package, level)\n  File \"<frozen importlib._bootstrap>\", line 1014, in _gcd_import\n  File \"<frozen importlib._bootstrap>\", line 991, in _find_and_load\n  File \"<frozen importlib._bootstrap>\", line 973, in _find_and_load_unlocked\nModuleNotFoundError: No module named 'erpnext'",
    "stderr_lines": [
        "Traceback (most recent call last):",
        "  File \"/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py\", line 66, in get_app_commands",
        "    app_command_module = importlib.import_module(app + '.commands')",
        "  File \"/usr/lib/python3.8/importlib/__init__.py\", line 127, in import_module",
        "    return _bootstrap._gcd_import(name[level:], package, level)",
        "  File \"<frozen importlib._bootstrap>\", line 1014, in _gcd_import",
        "  File \"<frozen importlib._bootstrap>\", line 991, in _find_and_load",
        "  File \"<frozen importlib._bootstrap>\", line 961, in _find_and_load_unlocked",
        "  File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed",
        "  File \"<frozen importlib._bootstrap>\", line 1014, in _gcd_import",
        "  File \"<frozen importlib._bootstrap>\", line 991, in _find_and_load",
        "  File \"<frozen importlib._bootstrap>\", line 973, in _find_and_load_unlocked",
        "ModuleNotFoundError: No module named 'erpnext'",
        "Traceback (most recent call last):",
        "  File \"/usr/lib/python3.8/runpy.py\", line 194, in _run_module_as_main",
        "    return _run_code(code, main_globals, None,",
        "  File \"/usr/lib/python3.8/runpy.py\", line 87, in _run_code",
        "    exec(code, run_globals)",
        "  File \"/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py\", line 97, in <module>",
        "    main()",
        "  File \"/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py\", line 18, in main",
        "    click.Group(commands=commands)(prog_name='bench')",
        "  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 829, in __call__",
        "    return self.main(*args, **kwargs)",
        "  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 782, in main",
        "    rv = self.invoke(ctx)",
        "  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 1259, in invoke",
        "    return _process_result(sub_ctx.command.invoke(sub_ctx))",
        "  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 1259, in invoke",
        "    return _process_result(sub_ctx.command.invoke(sub_ctx))",
        "  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 1066, in invoke",
        "    return ctx.invoke(self.callback, **ctx.params)",
        "  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 610, in invoke",
        "    return callback(*args, **kwargs)",
        "  File \"/home/frappe/frappe-bench/apps/frappe/frappe/commands/site.py\", line 32, in new_site",
        "    frappe.init(site=site, new_site=True)",
        "  File \"/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py\", line 174, in init",
        "    setup_module_map()",
        "  File \"/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py\", line 980, in setup_module_map",
        "    for module in get_module_list(app):",
        "  File \"/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py\", line 850, in get_module_list",
        "    return get_file_items(os.path.join(os.path.dirname(get_module(app_name).__file__), \"modules.txt\"))",
        "  File \"/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py\", line 808, in get_module",
        "    return importlib.import_module(modulename)",
        "  File \"/usr/lib/python3.8/importlib/__init__.py\", line 127, in import_module",
        "    return _bootstrap._gcd_import(name[level:], package, level)",
        "  File \"<frozen importlib._bootstrap>\", line 1014, in _gcd_import",
        "  File \"<frozen importlib._bootstrap>\", line 991, in _find_and_load",
        "  File \"<frozen importlib._bootstrap>\", line 973, in _find_and_load_unlocked",
        "ModuleNotFoundError: No module named 'erpnext'"
    ],
    "stdout": "",
    "stdout_lines": []
}

PLAY RECAP **********************************************************************************************************************************************************************************************************************************
localhost                  : ok=74   changed=15   unreachable=0    failed=1    skipped=64   rescued=0    ignored=0

This is what I ran, and the error message seen on the console.

sudo python3 install.py --production --version 11
Logs are saved under /tmp/logs/easy-install__2020-10-26__02-08.log
curl already installed!
wget already installed!
git already installed!
pip3 already installed!
pip3 already installed!
Checking System Compatibility...
ubuntu 20 is compatible!
 [WARNING]: No inventory was parsed, only implicit localhost is available
 [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
Input MySQL and Frappe Administrator passwords:
Passwords saved at ~/passwords.txt
 [WARNING]: No inventory was parsed, only implicit localhost is available
 [WARNING]: provided hosts list is empty, only localhost is available. Note that the implicit localhost does not match 'all'
 [WARNING]: Could not find aptitude. Using apt-get instead
 [WARNING]: Consider using the get_url or uri module rather than running 'curl'.  If you need to use command because get_url or uri is insufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in
ansible.cfg to get rid of this message.
[DEPRECATION WARNING]: evaluating [] as a bare variable, this behaviour will go away and you might need to add |bool to the expression in the future. Also see CONDITIONAL_BARE_VARS configuration toggle.. This feature will be removed in
version 2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
 [WARNING]: Consider using the file module with owner rather than running 'chown'.  If you need to use command because file is insufficient you can add 'warn: false' to this command task or set 'command_warnings=False' in ansible.cfg to
get rid of this message.
Traceback (most recent call last):
  File "install.py", line 472, in <module>
    install_bench(args)
  File "install.py", line 264, in install_bench
    run_playbook('site.yml', sudo=True, extra_vars=extra_vars)
  File "install.py", line 388, in run_playbook
    success = subprocess.check_call(args, cwd=playbooks_folder, stdout=log_stream, stderr=sys.stderr)
  File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ansible-playbook', '-c', 'local', 'site.yml', '-vvvv', '-e', '@/tmp/extra_vars.json', '--become', '--become-user=frappe']' returned non-zero exit status 2.

It’s version-11 not 11

1 Like

Hi, Thanks for the reply. I’ll have a look into it shortly.

I just ran the following on a new Ubuntu 20.04 install:
sudo python3 install.py --production

And I still get the following errors:

Traceback (most recent call last):
  File "install.py", line 472, in <module>
    install_bench(args)
  File "install.py", line 264, in install_bench
    run_playbook('site.yml', sudo=True, extra_vars=extra_vars)
  File "install.py", line 388, in run_playbook
    success = subprocess.check_call(args, cwd=playbooks_folder, stdout=log_stream, stderr=sys.stderr)
  File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['ansible-playbook', '-c', 'local', 'site.yml', '-vvvv', '-e', '@/tmp/extra_vars.json', '--become', '--become-user=frappe']' returned non-zero exit status 2.



TASK [bench : Create a new site] ************************************************************************************************************************************************************************************************************
task path: /tmp/.bench/bench/playbooks/roles/bench/tasks/setup_erpnext.yml:17
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root
<127.0.0.1> EXEC /bin/sh -c 'echo ~root && sleep 0'
<127.0.0.1> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /var/tmp/ansible-tmp-1603717039.961798-238092998804048 `" && echo ansible-tmp-1603717039.961798-238092998804048="` echo /var/tmp/ansible-tmp-1603717039.961798-238092998804048 `" ) && sleep 0'
Using module file /usr/local/lib/python3.8/dist-packages/ansible/modules/commands/command.py
<127.0.0.1> PUT /root/.ansible/tmp/ansible-local-29363xtbqn19/tmpv0ea76cg TO /var/tmp/ansible-tmp-1603717039.961798-238092998804048/AnsiballZ_command.py
<127.0.0.1> EXEC /bin/sh -c 'setfacl -m u:frappe:r-x /var/tmp/ansible-tmp-1603717039.961798-238092998804048/ /var/tmp/ansible-tmp-1603717039.961798-238092998804048/AnsiballZ_command.py && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'sudo -H -S -n  -u frappe /bin/sh -c '"'"'echo BECOME-SUCCESS-kowgbpzevxvugpnxzvgyfafoslgyssdc ; /usr/bin/python3 /var/tmp/ansible-tmp-1603717039.961798-238092998804048/AnsiballZ_command.py'"'"' && sleep 0'
<127.0.0.1> EXEC /bin/sh -c 'rm -f -r /var/tmp/ansible-tmp-1603717039.961798-238092998804048/ > /dev/null 2>&1 && sleep 0'
fatal: [localhost]: FAILED! => {
    "changed": true,
    "cmd": [
        "bench",
        "new-site",
        "site1.local",
        "--admin-password",
        "123Pass",
        "--mariadb-root-password",
        "frappe"
    ],
    "delta": "0:00:01.068657",
    "end": "2020-10-26 12:57:21.167364",
    "invocation": {
        "module_args": {
            "_raw_params": "bench new-site site1.local --admin-password '123Pass' --mariadb-root-password 'frappe'",
            "_uses_shell": false,
            "argv": null,
            "chdir": "/home/frappe/frappe-bench",
            "creates": null,
            "executable": null,
            "removes": null,
            "stdin": null,
            "stdin_add_newline": true,
            "strip_empty_ends": true,
            "warn": true
        }
    },
    "msg": "non-zero return code",
    "rc": 1,
    "start": "2020-10-26 12:57:20.098707",
    "stderr": "Traceback (most recent call last):\n  File \"/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py\", line 68, in get_app_commands\n    app_command_module = importlib.import_module(app + '.commands')\n  File \"/usr/lib/python3.8/importlib/__init__.py\", line 127, in import_module\n    return _bootstrap._gcd_import(name[level:], package, level)\n  File \"<frozen importlib._bootstrap>\", line 1014, in _gcd_import\n  File \"<frozen importlib._bootstrap>\", line 991, in _find_and_load\n  File \"<frozen importlib._bootstrap>\", line 961, in _find_and_load_unlocked\n  File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed\n  File \"<frozen importlib._bootstrap>\", line 1014, in _gcd_import\n  File \"<frozen importlib._bootstrap>\", line 991, in _find_and_load\n  File \"<frozen importlib._bootstrap>\", line 973, in _find_and_load_unlocked\nModuleNotFoundError: No module named 'erpnext'\nTraceback (most recent call last):\n  File \"/usr/lib/python3.8/runpy.py\", line 194, in _run_module_as_main\n    return _run_code(code, main_globals, None,\n  File \"/usr/lib/python3.8/runpy.py\", line 87, in _run_code\n    exec(code, run_globals)\n  File \"/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py\", line 99, in <module>\n    main()\n  File \"/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py\", line 18, in main\n    click.Group(commands=commands)(prog_name='bench')\n  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 764, in __call__\n    return self.main(*args, **kwargs)\n  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 717, in main\n    rv = self.invoke(ctx)\n  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 1137, in invoke\n    return _process_result(sub_ctx.command.invoke(sub_ctx))\n  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 1137, in invoke\n    return _process_result(sub_ctx.command.invoke(sub_ctx))\n  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 956, in invoke\n    return ctx.invoke(self.callback, **ctx.params)\n  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 555, in invoke\n    return callback(*args, **kwargs)\n  File \"/home/frappe/frappe-bench/apps/frappe/frappe/commands/site.py\", line 42, in new_site\n    frappe.init(site=site, new_site=True)\n  File \"/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py\", line 175, in init\n    setup_module_map()\n  File \"/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py\", line 1008, in setup_module_map\n    for module in get_module_list(app):\n  File \"/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py\", line 878, in get_module_list\n    return get_file_items(os.path.join(os.path.dirname(get_module(app_name).__file__), \"modules.txt\"))\n  File \"/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py\", line 836, in get_module\n    return importlib.import_module(modulename)\n  File \"/usr/lib/python3.8/importlib/__init__.py\", line 127, in import_module\n    return _bootstrap._gcd_import(name[level:], package, level)\n  File \"<frozen importlib._bootstrap>\", line 1014, in _gcd_import\n  File \"<frozen importlib._bootstrap>\", line 991, in _find_and_load\n  File \"<frozen importlib._bootstrap>\", line 973, in _find_and_load_unlocked\nModuleNotFoundError: No module named 'erpnext'",
    "stderr_lines": [
        "Traceback (most recent call last):",
        "  File \"/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py\", line 68, in get_app_commands",
        "    app_command_module = importlib.import_module(app + '.commands')",
        "  File \"/usr/lib/python3.8/importlib/__init__.py\", line 127, in import_module",
        "    return _bootstrap._gcd_import(name[level:], package, level)",
        "  File \"<frozen importlib._bootstrap>\", line 1014, in _gcd_import",
        "  File \"<frozen importlib._bootstrap>\", line 991, in _find_and_load",
        "  File \"<frozen importlib._bootstrap>\", line 961, in _find_and_load_unlocked",
        "  File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed",
        "  File \"<frozen importlib._bootstrap>\", line 1014, in _gcd_import",
        "  File \"<frozen importlib._bootstrap>\", line 991, in _find_and_load",
        "  File \"<frozen importlib._bootstrap>\", line 973, in _find_and_load_unlocked",
        "ModuleNotFoundError: No module named 'erpnext'",
        "Traceback (most recent call last):",
        "  File \"/usr/lib/python3.8/runpy.py\", line 194, in _run_module_as_main",
        "    return _run_code(code, main_globals, None,",
        "  File \"/usr/lib/python3.8/runpy.py\", line 87, in _run_code",
        "    exec(code, run_globals)",
        "  File \"/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py\", line 99, in <module>",
        "    main()",
        "  File \"/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py\", line 18, in main",
        "    click.Group(commands=commands)(prog_name='bench')",
        "  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 764, in __call__",
        "    return self.main(*args, **kwargs)",
        "  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 717, in main",
        "    rv = self.invoke(ctx)",
        "  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 1137, in invoke",
        "    return _process_result(sub_ctx.command.invoke(sub_ctx))",
        "  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 1137, in invoke",
        "    return _process_result(sub_ctx.command.invoke(sub_ctx))",
        "  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 956, in invoke",
        "    return ctx.invoke(self.callback, **ctx.params)",
        "  File \"/home/frappe/frappe-bench/env/lib/python3.8/site-packages/click/core.py\", line 555, in invoke",
        "    return callback(*args, **kwargs)",
        "  File \"/home/frappe/frappe-bench/apps/frappe/frappe/commands/site.py\", line 42, in new_site",
        "    frappe.init(site=site, new_site=True)",
        "  File \"/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py\", line 175, in init",
        "    setup_module_map()",
        "  File \"/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py\", line 1008, in setup_module_map",
        "    for module in get_module_list(app):",
        "  File \"/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py\", line 878, in get_module_list",
        "    return get_file_items(os.path.join(os.path.dirname(get_module(app_name).__file__), \"modules.txt\"))",
        "  File \"/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py\", line 836, in get_module",
        "    return importlib.import_module(modulename)",
        "  File \"/usr/lib/python3.8/importlib/__init__.py\", line 127, in import_module",
        "    return _bootstrap._gcd_import(name[level:], package, level)",
        "  File \"<frozen importlib._bootstrap>\", line 1014, in _gcd_import",
        "  File \"<frozen importlib._bootstrap>\", line 991, in _find_and_load",
        "  File \"<frozen importlib._bootstrap>\", line 973, in _find_and_load_unlocked",
        "ModuleNotFoundError: No module named 'erpnext'"
    ],
    "stdout": "",
    "stdout_lines": []
}

PLAY RECAP **********************************************************************************************************************************************************************************************************************************
localhost                  : ok=80   changed=44   unreachable=0    failed=1    skipped=60   rescued=0    ignored=0

Install script run at 12:39 on 2020-10-26

It still fails at creating the site.

Probably caused by using python 3.8 by default
Try initiating a new bench with bench init frappe-bench --python python3.7

ERPNEXT IS HARDEST PROGRAM TO INSTALL, this problem solve, another problem comes again.