Easy install setup guide for erpnext installation on Ubuntu 20.04 LTS. With some modification of course

@nikunj_Patel, I followed your steps. But when I am on step 5, then its just stuck there.
Below is the screen shot . I am on ubuntu 16
Any help? Really struggling to getup

I haven’t read the whole thread so maybe I am missing something, but the whole point of this thread is to get easy install working on Ubuntu 20.04, not 16.04.

For 16.04 you should be able to use the “old” install.py.

1 Like

Even I followed the old post to install on 16. But no clear steps. Steps for installation are very vauge .

Really helped. Thank you very much for sharing.

Please help
Error as:

TASK [bench : Install ERPNext to default site] **********************************************************************************************
task path: /tmp/.bench/playbooks/roles/bench/tasks/setup_erpnext.yml:23
<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-1598170810.0289495-138937659364274” && echo ansible-tmp-1598170810.0289495-138937659364274=“echo /var/tmp/ansible-tmp-1598170810.0289495-138937659364274” ) && 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-4869l22xp_aw/tmpdke7c8u0 TO /var/tmp/ansible-tmp-1598170810.0289495-138937659364274/AnsiballZ_command.py
<127.0.0.1> EXEC /bin/sh -c ‘setfacl -m u:anand:r-x /var/tmp/ansible-tmp-1598170810.0289495-138937659364274/ /var/tmp/ansible-tmp-1598170810.0289495-138937659364274/AnsiballZ_command.py && sleep 0’
<127.0.0.1> EXEC /bin/sh -c ‘sudo -H -S -n -u anand /bin/sh -c ‘"’“‘echo BECOME-SUCCESS-avqdaslggptjwaotmoapqrszznbrpsia ; /usr/bin/python3 /var/tmp/ansible-tmp-1598170810.0289495-138937659364274/AnsiballZ_command.py’”’“’ && sleep 0’
<127.0.0.1> EXEC /bin/sh -c ‘rm -f -r /var/tmp/ansible-tmp-1598170810.0289495-138937659364274/ > /dev/null 2>&1 && sleep 0’
fatal: [localhost]: FAILED! => {
“changed”: true,
“cmd”: [
“bench”,
“–site”,
“site1.local”,
“install-app”,
“erpnext”
],
“delta”: “0:00:10.896774”,
“end”: “2020-08-23 01:20:21.214546”,
“invocation”: {
“module_args”: {
“_raw_params”: “bench --site site1.local install-app erpnext”,
“_uses_shell”: false,
“argv”: null,
“chdir”: “/home/anand/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-08-23 01:20:10.317772”,
“stderr”: “Traceback (most recent call last):\n File "/usr/lib/python3.8/runpy.py", line 193, in _run_module_as_main\n return _run_code(code, main_globals, None,\n File "/usr/lib/python3.8/runpy.py", line 86, in _run_code\n exec(code, run_globals)\n File "/home/anand/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 99, in \n main()\n File "/home/anand/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 18, in main\n click.Group(commands=commands)(prog_name=‘bench’)\n File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/click/core.py", line 764, in call\n return self.main(*args, **kwargs)\n File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/click/core.py", line 717, in main\n rv = self.invoke(ctx)\n File "/home/anand/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/anand/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/anand/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/anand/frappe-bench/env/lib/python3.8/site-packages/click/core.py", line 555, in invoke\n return callback(*args, **kwargs)\n File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/click/decorators.py", line 17, in new_func\n return f(get_current_context(), *args, **kwargs)\n File "/home/anand/frappe-bench/apps/frappe/frappe/commands/init.py", line 26, in _func\n ret = f(frappe._dict(ctx.obj), *args, **kwargs)\n File "/home/anand/frappe-bench/apps/frappe/frappe/commands/site.py", line 203, in install_app\n _install_app(app, verbose=context.verbose)\n File "/home/anand/frappe-bench/apps/frappe/frappe/installer.py", line 51, in install_app\n frappe.clear_cache()\n File "/home/anand/frappe-bench/apps/frappe/frappe/init.py", line 581, in clear_cache\n frappe.cache_manager.clear_user_cache()\n File "/home/anand/frappe-bench/apps/frappe/frappe/cache_manager.py", line 43, in clear_user_cache\n clear_global_cache()\n File "/home/anand/frappe-bench/apps/frappe/frappe/cache_manager.py", line 54, in clear_global_cache\n clear_website_cache()\n File "/home/anand/frappe-bench/apps/frappe/frappe/website/render.py", line 328, in clear_cache\n for method in frappe.get_hooks("website_clear_cache"):\n File "/home/anand/frappe-bench/apps/frappe/frappe/init.py", line 958, in get_hooks\n hooks = _dict(cache().get_value("app_hooks", load_app_hooks))\n File "/home/anand/frappe-bench/apps/frappe/frappe/utils/redis_wrapper.py", line 79, in get_value\n val = generator()\n File "/home/anand/frappe-bench/apps/frappe/frappe/init.py", line 932, in load_app_hooks\n for app in [app_name] if app_name else get_installed_apps(sort=True):\n File "/home/anand/frappe-bench/apps/frappe/frappe/init.py", line 896, in get_installed_apps\n installed = json.loads(db.get_global("installed_apps") or "[]")\n File "/home/anand/frappe-bench/apps/frappe/frappe/database/database.py", line 702, in get_global\n return self.get_default(key, user)\n File "/home/anand/frappe-bench/apps/frappe/frappe/database/database.py", line 706, in get_default\n d = self.get_defaults(key, parent)\n File "/home/anand/frappe-bench/apps/frappe/frappe/database/database.py", line 724, in get_defaults\n defaults = frappe.defaults.get_defaults(parent)\n File "/home/anand/frappe-bench/apps/frappe/frappe/defaults.py", line 77, in get_defaults\n globald = get_defaults_for()\n File "/home/anand/frappe-bench/apps/frappe/frappe/defaults.py", line 203, in get_defaults_for\n res = frappe.db.sql("""select defkey, defvalue from tabDefaultValue\n File "/home/anand/frappe-bench/apps/frappe/frappe/database/database.py", line 122, in sql\n self.connect()\n File "/home/anand/frappe-bench/apps/frappe/frappe/database/database.py", line 75, in connect\n self._conn = self.get_connection()\n File "/home/anand/frappe-bench/apps/frappe/frappe/database/mariadb/database.py", line 88, in get_connection\n conn = pymysql.connect(self.host, self.user or ‘’, self.password or ‘’,\n File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/pymysql/init.py", line 94, in Connect\n return Connection(*args, **kwargs)\n File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/pymysql/connections.py", line 325, in init\n self.connect()\n File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/pymysql/connections.py", line 599, in connect\n self._request_authentication()\n File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/pymysql/connections.py", line 861, in _request_authentication\n auth_packet = self._read_packet()\n File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/pymysql/connections.py", line 684, in _read_packet\n packet.check_error()\n File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/pymysql/protocol.py", line 220, in check_error\n err.raise_mysql_exception(self._data)\n File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/pymysql/err.py", line 109, in raise_mysql_exception\n raise errorclass(errno, errval)\npymysql.err.InternalError: (1698, "Access denied for user ‘_1bd3e0294da19198’@‘localhost’")”,
“stderr_lines”: [
“Traceback (most recent call last):”,
" File "/usr/lib/python3.8/runpy.py", line 193, in _run_module_as_main”,
" return _run_code(code, main_globals, None,“,
" File "/usr/lib/python3.8/runpy.py", line 86, in _run_code”,
" exec(code, run_globals)“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 99, in ”,
" main()“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 18, in main”,
" click.Group(commands=commands)(prog_name=‘bench’)“,
" File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/click/core.py", line 764, in call”,
" return self.main(*args, **kwargs)“,
" File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/click/core.py", line 717, in main”,
" rv = self.invoke(ctx)“,
" File "/home/anand/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/anand/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/anand/frappe-bench/env/lib/python3.8/site-packages/click/core.py", line 956, in invoke”,
" return ctx.invoke(self.callback, **ctx.params)“,
" File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/click/core.py", line 555, in invoke”,
" return callback(*args, **kwargs)“,
" File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/click/decorators.py", line 17, in new_func”,
" return f(get_current_context(), *args, **kwargs)“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/commands/init.py", line 26, in _func”,
" ret = f(frappe._dict(ctx.obj), *args, **kwargs)“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/commands/site.py", line 203, in install_app”,
" _install_app(app, verbose=context.verbose)“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/installer.py", line 51, in install_app”,
" frappe.clear_cache()“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/init.py", line 581, in clear_cache”,
" frappe.cache_manager.clear_user_cache()“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/cache_manager.py", line 43, in clear_user_cache”,
" clear_global_cache()“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/cache_manager.py", line 54, in clear_global_cache”,
" clear_website_cache()“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/website/render.py", line 328, in clear_cache”,
" for method in frappe.get_hooks("website_clear_cache"):“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/init.py", line 958, in get_hooks”,
" hooks = _dict(cache().get_value("app_hooks", load_app_hooks))“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/utils/redis_wrapper.py", line 79, in get_value”,
" val = generator()“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/init.py", line 932, in load_app_hooks”,
" for app in [app_name] if app_name else get_installed_apps(sort=True):“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/init.py", line 896, in get_installed_apps”,
" installed = json.loads(db.get_global("installed_apps") or "[]")“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/database/database.py", line 702, in get_global”,
" return self.get_default(key, user)“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/database/database.py", line 706, in get_default”,
" d = self.get_defaults(key, parent)“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/database/database.py", line 724, in get_defaults”,
" defaults = frappe.defaults.get_defaults(parent)“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/defaults.py", line 77, in get_defaults”,
" globald = get_defaults_for()“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/defaults.py", line 203, in get_defaults_for”,
" res = frappe.db.sql("""select defkey, defvalue from tabDefaultValue",
" File "/home/anand/frappe-bench/apps/frappe/frappe/database/database.py", line 122, in sql",
" self.connect()“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/database/database.py", line 75, in connect”,
" self._conn = self.get_connection()“,
" File "/home/anand/frappe-bench/apps/frappe/frappe/database/mariadb/database.py", line 88, in get_connection”,
" conn = pymysql.connect(self.host, self.user or ‘’, self.password or ‘’,“,
" File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/pymysql/init.py", line 94, in Connect”,
" return Connection(*args, **kwargs)“,
" File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/pymysql/connections.py", line 325, in init”,
" self.connect()“,
" File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/pymysql/connections.py", line 599, in connect”,
" self._request_authentication()“,
" File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/pymysql/connections.py", line 861, in _request_authentication”,
" auth_packet = self._read_packet()“,
" File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/pymysql/connections.py", line 684, in _read_packet”,
" packet.check_error()“,
" File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/pymysql/protocol.py", line 220, in check_error”,
" err.raise_mysql_exception(self._data)“,
" File "/home/anand/frappe-bench/env/lib/python3.8/site-packages/pymysql/err.py", line 109, in raise_mysql_exception”,
" raise errorclass(errno, errval)",
“pymysql.err.InternalError: (1698, "Access denied for user ‘_1bd3e0294da19198’@‘localhost’")”
],
“stdout”: “”,
“stdout_lines”: []
}

PLAY RECAP **********************************************************************************************************************************
localhost : ok=73 changed=17 unreachable=0 failed=1 skipped=65 rescued=0 ignored=0

Traceback (most recent call last):
File “install.py”, line 464, in
install_bench(args)
File “install.py”, line 260, in install_bench
run_playbook(‘site.yml’, sudo=True, extra_vars=extra_vars)
File “install.py”, line 384, 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=anand’]’ returned non-zero exit status 2.

Hello
I was facing the same issue; this fixed it:

i am getting same error i am scracing my head from past 3 days dont know how to move ahead please help i am new with linux and programming in genral

TASK [bench : Create a new site] ***********************************************
task path: /tmp/.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-1599125295.9540882-225128691185666” && echo ansible-tmp-1599125295.9540882-225128691185666=“echo /var/tmp/ansible-tmp-1599125295.9540882-225128691185666” ) && 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-271467071sbwx/tmppooijeiw TO /var/tmp/ansible-tmp-1599125295.9540882-225128691185666/AnsiballZ_command.py
<127.0.0.1> EXEC /bin/sh -c ‘setfacl -m u:erp:r-x /var/tmp/ansible-tmp-1599125295.9540882-225128691185666/ /var/tmp/ansible-tmp-1599125295.9540882-225128691185666/AnsiballZ_command.py && sleep 0’
<127.0.0.1> EXEC /bin/sh -c ‘sudo -H -S -n -u erp /bin/sh -c ‘"’“‘echo BECOME-SUCCESS-ivzqlgvdefbfuzpscbbmoxkyisfnwapp ; /usr/bin/python3 /var/tmp/ansible-tmp-1599125295.9540882-225128691185666/AnsiballZ_command.py’”’“’ && sleep 0’
<127.0.0.1> EXEC /bin/sh -c ‘rm -f -r /var/tmp/ansible-tmp-1599125295.9540882-225128691185666/ > /dev/null 2>&1 && sleep 0’
fatal: [localhost]: FAILED! => {
“changed”: true,
“cmd”: [
“bench”,
“new-site”,
“site1.local”,
“–admin-password”,
“123”,
“–mariadb-root-password”,
“123”
],
“delta”: “0:00:03.970746”,
“end”: “2020-09-03 14:58:20.155453”,
“invocation”: {
“module_args”: {
“_raw_params”: “bench new-site site1.local --admin-password ‘123’ --mariadb-root-password ‘123’”,
“_uses_shell”: false,
“argv”: null,
“chdir”: “/home/erp/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-09-03 14:58:16.184707”,
“stderr”: “Traceback (most recent call last):\n File "/home/erp/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 "/home/erp/frappe-bench/env/lib/python3.8/importlib/init.py", line 127, in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\n File "", line 1014, in _gcd_import\n File "", line 991, in _find_and_load\n File "", line 961, in _find_and_load_unlocked\n File "", line 219, in _call_with_frames_removed\n File "", line 1014, in _gcd_import\n File "", line 991, in _find_and_load\n File "", 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 193, in _run_module_as_main\n return _run_code(code, main_globals, None,\n File "/usr/lib/python3.8/runpy.py", line 86, in _run_code\n exec(code, run_globals)\n File "/home/erp/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 99, in \n main()\n File "/home/erp/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 18, in main\n click.Group(commands=commands)(prog_name=‘bench’)\n File "/home/erp/frappe-bench/env/lib/python3.8/site-packages/click/core.py", line 764, in call\n return self.main(*args, **kwargs)\n File "/home/erp/frappe-bench/env/lib/python3.8/site-packages/click/core.py", line 717, in main\n rv = self.invoke(ctx)\n File "/home/erp/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/erp/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/erp/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/erp/frappe-bench/env/lib/python3.8/site-packages/click/core.py", line 555, in invoke\n return callback(*args, **kwargs)\n File "/home/erp/frappe-bench/apps/frappe/frappe/commands/site.py", line 42, in new_site\n frappe.init(site=site, new_site=True)\n File "/home/erp/frappe-bench/apps/frappe/frappe/init.py", line 174, in init\n setup_module_map()\n File "/home/erp/frappe-bench/apps/frappe/frappe/init.py", line 999, in setup_module_map\n for module in get_module_list(app):\n File "/home/erp/frappe-bench/apps/frappe/frappe/init.py", line 869, 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/erp/frappe-bench/apps/frappe/frappe/init.py", line 827, in get_module\n return importlib.import_module(modulename)\n File "/home/erp/frappe-bench/env/lib/python3.8/importlib/init.py", line 127, in import_module\n return _bootstrap._gcd_import(name[level:], package, level)\n File "", line 1014, in _gcd_import\n File "", line 991, in _find_and_load\n File "", line 973, in _find_and_load_unlocked\nModuleNotFoundError: No module named ‘erpnext’”,
“stderr_lines”: [
“Traceback (most recent call last):”,
" File "/home/erp/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 68, in get_app_commands”,
" app_command_module = importlib.import_module(app + ‘.commands’)“,
" File "/home/erp/frappe-bench/env/lib/python3.8/importlib/init.py", line 127, in import_module”,
" return _bootstrap._gcd_import(name[level:], package, level)“,
" File "", line 1014, in _gcd_import”,
" File "", line 991, in _find_and_load",
" File "", line 961, in _find_and_load_unlocked",
" File "", line 219, in _call_with_frames_removed",
" File "", line 1014, in _gcd_import",
" File "", line 991, in _find_and_load",
" File "", 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 193, in _run_module_as_main",
" return _run_code(code, main_globals, None,“,
" File "/usr/lib/python3.8/runpy.py", line 86, in _run_code”,
" exec(code, run_globals)“,
" File "/home/erp/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 99, in ”,
" main()“,
" File "/home/erp/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 18, in main”,
" click.Group(commands=commands)(prog_name=‘bench’)“,
" File "/home/erp/frappe-bench/env/lib/python3.8/site-packages/click/core.py", line 764, in call”,
" return self.main(*args, **kwargs)“,
" File "/home/erp/frappe-bench/env/lib/python3.8/site-packages/click/core.py", line 717, in main”,
" rv = self.invoke(ctx)“,
" File "/home/erp/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/erp/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/erp/frappe-bench/env/lib/python3.8/site-packages/click/core.py", line 956, in invoke”,
" return ctx.invoke(self.callback, **ctx.params)“,
" File "/home/erp/frappe-bench/env/lib/python3.8/site-packages/click/core.py", line 555, in invoke”,
" return callback(*args, **kwargs)“,
" File "/home/erp/frappe-bench/apps/frappe/frappe/commands/site.py", line 42, in new_site”,
" frappe.init(site=site, new_site=True)“,
" File "/home/erp/frappe-bench/apps/frappe/frappe/init.py", line 174, in init”,
" setup_module_map()“,
" File "/home/erp/frappe-bench/apps/frappe/frappe/init.py", line 999, in setup_module_map”,
" for module in get_module_list(app):“,
" File "/home/erp/frappe-bench/apps/frappe/frappe/init.py", line 869, in get_module_list”,
" return get_file_items(os.path.join(os.path.dirname(get_module(app_name).file), "modules.txt"))“,
" File "/home/erp/frappe-bench/apps/frappe/frappe/init.py", line 827, in get_module”,
" return importlib.import_module(modulename)“,
" File "/home/erp/frappe-bench/env/lib/python3.8/importlib/init.py", line 127, in import_module”,
" return _bootstrap._gcd_import(name[level:], package, level)“,
" File "", line 1014, in _gcd_import”,
" File "", line 991, in _find_and_load",
" File "", line 973, in _find_and_load_unlocked",
“ModuleNotFoundError: No module named ‘erpnext’”
],
“stdout”: “”,
“stdout_lines”: []
}

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

Traceback (most recent call last):
File “install.py”, line 472, in
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=erp’]’ returned non-zero exit status 2.
hites@hitesh-GA-78LMT-USB3-6-0:~$ frappe-bench/env/bin/pip3 install -U -e ./apps/erpnext
bash: frappe-bench/env/bin/pip3: No such file or directory
hites@hitesh-GA-78LMT-USB3-6-0:~$

I am stuck at 4th error ‘module not found’ can you elaborate that process please help me i novice i have been scratching my head since 3 days

@hiteshmchaudhary

  1. If you face ModuleNotFoundError: No module named ‘erpnext .

Follow this https://medium.com/@binodpaneru23/setting-up-erpnext-in-mac-os-c475466f5403

Based on this doc I used

frappe-bench/env/bin/pip3 install -U -e ./apps/erpnext

Thanks @arun992 for steps 5 and 6

  1. if you get stuck with Cython is required to compile pandas from a development branch. error.
    Check this post [https://github.com/frappe/erpnext/issues/22424 ]

Based on this doc use the following commands:

frappe-bench/env/bin/pip3 install pandas==0.24.2
frappe-bench/env/bin/pip install numpy==1.18.5

After this use

frappe-bench/env/bin/pip3 install -U -e ./apps/erpnext

Oncef inished the erpnext installationcontinue with the command

sudo frappe-bench/env/bin/python3 temp --production --user frappe --mariadb-version 10.5 --verbose

Hey @Nikunj_Patel and All,

Thanks for the steps provided above. It seems difficult for newbies to install erpnext in a single go or for that matter even multiple tries :slight_smile: . I have a follow up question where-in, I got this error:-

“ModuleNotFoundError: No module named ‘erpnext`”.
As per the steps provided above I executed the below statement.

frappe-bench/env/bin/pip3 install -U -e ./apps/erpnext --verbose

But its ages now its just running and don’t know what’s actually happening, I even used verbose in the above command, its spitting out the logs on the console but at one point it just gets stuck. Below is the snippet of the logs and its just stuck at the last statement. I am using EC2 free tier instance with 1GB RAM and 25 GB disk space and Ubuntu 20.04 LTS. I checked the CPU spikes, it did go up to 90% but for a few seconds.
Does this installation requires minimum 4GB RAM ?
"
x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/pandas/_libs/interval.o -o build/lib.linux-x86_64-3.8/pandas/_libs/interval.cpython-38-x86_64-linux-gnu.so
building ‘pandas._libs.join’ extension
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Ipandas/_libs/src/klib -Ipandas/_libs/src -I/home/nitin/frappe-bench/env/lib/python3.8/site-packages/numpy/core/include -I/home/nitin/frappe-bench/env/include -I/usr/include/python3.8 -c pandas/_libs/join.c -o build/temp.linux-x86_64-3.8/pandas/_libs/join.o -Wno-unused-function
In file included from /home/nitin/frappe-bench/env/lib/python3.8/site-packages/numpy/core/include/numpy/ndarraytypes.h:1822,
from /home/nitin/frappe-bench/env/lib/python3.8/site-packages/numpy/core/include/numpy/ndarrayobject.h:12,
from /home/nitin/frappe-bench/env/lib/python3.8/site-packages/numpy/core/include/numpy/arrayobject.h:4,
from pandas/_libs/join.c:619:
/home/nitin/frappe-bench/env/lib/python3.8/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:17:2: warning: #warning "Using deprecated NumPy API, disable it with " “#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION” [-Wcpp]
17 | #warning "Using deprecated NumPy API, disable it with "
| ^~~~~~~
pandas/_libs/join.c: In function ‘__Pyx_modinit_type_init_code’:
pandas/_libs/join.c:190438:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
190438 | __pyx_type___pyx_array.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/join.c:30:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/join.c:190443:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
190443 | __pyx_type___pyx_MemviewEnum.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/join.c:30:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/join.c:190458:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
190458 | __pyx_type___pyx_memoryview.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/join.c:30:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/join.c:190471:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
190471 | __pyx_type___pyx_memoryviewslice.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/join.c:30:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
"
Any inputs are appreciated!!

The command eventually completed with the Cython error.
So I ran:-
frappe-bench/env/bin/pip3 install pandas==0.24.2 --verbose
which again got stuck, I waited for almost an hour in the hope that finally it would complete but it didn’t, not sure what it is looking for. Log snippet below for reference:-
" pandas/_libs/interval.c:133776:36: warning: comparison of integer expressions of different signedness: ‘__pyx_t_5numpy_int32_t’ {aka ‘int’} and ‘__pyx_t_5numpy_uint64_t’ {aka ‘long unsigned int’} [-Wsign-compare]
133776 | __pyx_t_8 = (__pyx_v_point < (*((__pyx_t_5numpy_uint64_t ) ( / dim=0 / (__pyx_v_self->right.data + __pyx_t_13 * __pyx_v_self->right.strides[0]) ))));
| ^
pandas/_libs/interval.c:133819:34: warning: comparison of integer expressions of different signedness: ‘__pyx_t_5numpy_int32_t’ {aka ‘int’} and ‘__pyx_t_5numpy_uint64_t’ {aka ‘long unsigned int’} [-Wsign-compare]
133819 | __pyx_t_14 = ((__pyx_v_point < __pyx_v_self->pivot) != 0);
| ^
pandas/_libs/interval.c:133868:139: warning: comparison of integer expressions of different signedness: ‘__pyx_t_5numpy_uint64_t’ {aka ‘long unsigned int’} and ‘__pyx_t_5numpy_int32_t’ {aka ‘int’} [-Wsign-compare]
133868 | __pyx_t_14 = ((!(((
((__pyx_t_5numpy_uint64_t ) ( / dim=0 / (__pyx_v_values.data + __pyx_t_18 * __pyx_v_values.strides[0]) ))) < __pyx_v_point) != 0)) != 0);
| ^
pandas/_libs/interval.c:133908:36: warning: comparison of integer expressions of different signedness: ‘__pyx_t_5numpy_int32_t’ {aka ‘int’} and ‘__pyx_t_5numpy_uint64_t’ {aka ‘long unsigned int’} [-Wsign-compare]
133908 | __pyx_t_14 = ((__pyx_v_point < __pyx_v_self->left_node->max_right) != 0);
| ^
pandas/_libs/interval.c:133948:34: warning: comparison of integer expressions of different signedness: ‘__pyx_t_5numpy_int32_t’ {aka ‘int’} and ‘__pyx_t_5numpy_uint64_t’ {aka ‘long unsigned int’} [-Wsign-compare]
133948 | __pyx_t_14 = ((__pyx_v_point > __pyx_v_self->pivot) != 0);
| ^
pandas/_libs/interval.c:133995:41: warning: comparison of integer expressions of different signedness: ‘__pyx_t_5numpy_int32_t’ {aka ‘int’} and ‘__pyx_t_5numpy_uint64_t’ {aka ‘long unsigned int’} [-Wsign-compare]
133995 | __pyx_t_14 = ((!((__pyx_v_point < (
((__pyx_t_5numpy_uint64_t ) ( / dim=0 */ (__pyx_v_values.data + __pyx_t_20 * __pyx_v_values.strides[0]) )))) != 0)) != 0);
| ^
pandas/_libs/interval.c:134035:57: warning: comparison of integer expressions of different signedness: ‘__pyx_t_5numpy_uint64_t’ {aka ‘long unsigned int’} and ‘__pyx_t_5numpy_int32_t’ {aka ‘int’} [-Wsign-compare]
134035 | __pyx_t_14 = ((__pyx_v_self->right_node->min_left < __pyx_v_point) != 0);
| ^
pandas/_libs/interval.c: In function ‘__Pyx_modinit_type_init_code’:
pandas/_libs/interval.c:170066:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170066 | __pyx_type_6pandas_5_libs_8interval_IntervalMixin.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170075:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170075 | __pyx_type_6pandas_5_libs_8interval_Interval.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170083:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170083 | __pyx_type_6pandas_5_libs_8interval_IntervalTree.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170109:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170109 | __pyx_type_6pandas_5_libs_8interval_Float32ClosedLeftIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170126:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170126 | __pyx_type_6pandas_5_libs_8interval_Float32ClosedRightIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170143:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170143 | __pyx_type_6pandas_5_libs_8interval_Float32ClosedBothIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170160:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170160 | __pyx_type_6pandas_5_libs_8interval_Float32ClosedNeitherIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170177:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170177 | __pyx_type_6pandas_5_libs_8interval_Float64ClosedLeftIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170194:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170194 | __pyx_type_6pandas_5_libs_8interval_Float64ClosedRightIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170211:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170211 | __pyx_type_6pandas_5_libs_8interval_Float64ClosedBothIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170228:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170228 | __pyx_type_6pandas_5_libs_8interval_Float64ClosedNeitherIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170245:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170245 | __pyx_type_6pandas_5_libs_8interval_Int32ClosedLeftIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170262:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170262 | __pyx_type_6pandas_5_libs_8interval_Int32ClosedRightIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170279:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170279 | __pyx_type_6pandas_5_libs_8interval_Int32ClosedBothIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170296:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170296 | __pyx_type_6pandas_5_libs_8interval_Int32ClosedNeitherIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170313:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170313 | __pyx_type_6pandas_5_libs_8interval_Int64ClosedLeftIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170330:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170330 | __pyx_type_6pandas_5_libs_8interval_Int64ClosedRightIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170347:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170347 | __pyx_type_6pandas_5_libs_8interval_Int64ClosedBothIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170364:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170364 | __pyx_type_6pandas_5_libs_8interval_Int64ClosedNeitherIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170381:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170381 | __pyx_type_6pandas_5_libs_8interval_Uint64ClosedLeftIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170398:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170398 | __pyx_type_6pandas_5_libs_8interval_Uint64ClosedRightIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170415:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170415 | __pyx_type_6pandas_5_libs_8interval_Uint64ClosedBothIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170432:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170432 | __pyx_type_6pandas_5_libs_8interval_Uint64ClosedNeitherIntervalNode.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170443:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170443 | __pyx_type___pyx_array.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170448:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170448 | __pyx_type___pyx_MemviewEnum.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170463:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170463 | __pyx_type___pyx_memoryview.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
pandas/_libs/interval.c:170476:3: warning: ‘tp_print’ is deprecated [-Wdeprecated-declarations]
170476 | __pyx_type___pyx_memoryviewslice.tp_print = 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/python3.8/object.h:746,
from /usr/include/python3.8/pytime.h:6,
from /usr/include/python3.8/Python.h:85,
from pandas/_libs/interval.c:36:
/usr/include/python3.8/cpython/object.h:260:30: note: declared here
260 | Py_DEPRECATED(3.8) int (*tp_print)(PyObject *, FILE *, int);
| ^~~~~~~~
"

Btw no errors as of yet and still waiting for it to complete.
Thanks

Hi @Nikunj_Patel, Great work! The above post has gone too… long. Can you pl do a new post or just summarize the easy install steps for Ubuntu 20.04 with latest links to your script and at a very high level why you needed to do those changes. Thanks!

This is one awesome piece of a guide! Thanks a ton!

I had one tiny hiccup during install only, I had to manually remove psutils which came with the Mate desktop I installed on the test system. On a cli only system the whole install should’ve worked without any issues at all!

@mwrsa Glad that this helped you to install ERPNEXT on 20.4

Please give some time to ERPNEXT before you evaluate it. There are many combinations of settings to perform almost any job in ERP system so be patient and always ask on forum if you have any doubts.

Welcome !!

Thank you!

Yes, you are absolutely right. What I learned so far (two things):

ERPNext and the underlying frappe framework are very particular concerning versions of their dependencies. That’s probably what stopped me short in some of my previous attempts.

I know no other system that offers such a plentitude of options and functionality. To be honest: I will probably have more work with removing stuff that’s not used in our company than with adding what we are missing.

Anyway, this is not about that, but about the great work of yours, @Nikunj_Patel, that can be found in the first post of this thread. I ran into some of the issues mentioned there plus the one with psutils which I mentioned in my previous post - and that’s it.

One small thing though - under issue 5 and 6, regarding numpy and pandas: For me, the order of the commands had to be reversed: First downgrade numpy to 1.18.5, then install pandas in the mentioned version.

@mwrsa Yes that is why we called ERPNEXT solution BATTERIES INCLUDED. It is one of the only ERP system which has all the modules available in FOSS model. If you like it, please don’t forget to contribute back to the community. Don’t forget to push any issues you face on Github, community is very active to respond.

And if you code some new feature please be free to show it… there will lots of people interested.

Since you were using MATE numpy version was higher then required 1.18.5 because of this you had conflict with panda. In this case you had to what you did.

@mwrsa while setting it up install only those modules which you will use.

  1. You can always enable this module later on if you need them. I would suggest you to go slow.
  2. First plan your strategy to upgrade to ERPNEXT.
  3. Get hands on the module which you are going to use.
  4. Set up your company charts of accounts.
  5. Set up your taxes.
  6. Set up your stock items.
  7. Set up you bank details.
  8. Plan the your User roles.
  9. Setup a demo site to run atleast few full entries with your accounts / purchase / manufacturing team to understand the workflow and fine tune it if needed.

Rest will follow with time.

@Nikunj_Patel Tried all the methods still facing problem.
Please guide me with framework installation on 20.04 focal.
Thank you.

@tharun, instead of Easy Install script install.py approach, try manual steps to install erpnext.

See list of links providing the steps to install erpnext on Ubuntu Server 20.04 LTS

Refer the link

I am doing the installation for the first time and i am getting the below error.

ERROR! Unexpected Exception, this is probably a bug: cannot import name ‘AnsibleCollectionLoader’ from ‘ansible.utils.collection_loader’ (/usr/local/lib/python3.8/dist-packages/ansible/utils/collection_loader/init.py)
the full traceback was:

Traceback (most recent call last):
File “/usr/local/bin/ansible-playbook”, line 90, in
mycli = getattr(import(“ansible.cli.%s” % sub, fromlist=[myclass]), myclass)
File “/usr/local/lib/python3.8/dist-packages/ansible/cli/init.py”, line 22, in
from ansible.inventory.manager import InventoryManager
File “/usr/local/lib/python3.8/dist-packages/ansible/inventory/manager.py”, line 38, in
from ansible.plugins.loader import inventory_loader
File “/usr/local/lib/python3.8/dist-packages/ansible/plugins/loader.py”, line 26, in
from ansible.utils.collection_loader import AnsibleCollectionLoader, AnsibleFlatMapLoader, is_collection_ref
ImportError: cannot import name ‘AnsibleCollectionLoader’ from ‘ansible.utils.collection_loader’ (/usr/local/lib/python3.8/dist-packages/ansible/utils/collection_loader/init.py)
Traceback (most recent call last):
File “install.py”, line 633, in
install_bench(args)
File “install.py”, line 264, in install_bench
run_playbook(“create_user.yml”, extra_vars=extra_vars)
File “install.py”, line 440, in run_playbook
success = subprocess.check_call(
File “/usr/lib/python3.8/subprocess.py”, line 364, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command ‘[‘ansible-playbook’, ‘-c’, ‘local’, ‘create_user.yml’, ‘-vvvv’, ‘-e’, ‘@/tmp/extra_vars.json’]’ returned non-zero exit status 250.

Regards,