Is there a way to install Frappe framework without the ERPNext app?


I have been trying to install a fresh copy of the Frappe framework on a clean/blank server to learn the framework.

However, every time I follow the steps in GitHub - frappe/frappe: Low code web framework for real world applications, in Python and Javascript, it tells me to install the Bench tool (GitHub - frappe/bench: CLI to manage Multi-tenant deployments for Frappe apps). With the installation here, it generally creates a new app with ERPNext installed in it.

Would really appreciate it if someone can give me some advice/direction on this.

Thanks in advanced!



Go through GitHub - frappe/bench: CLI to manage Multi-tenant deployments for Frappe apps
Prefer Manual Installation and skip Install app ERPNext step.


Thanks for your reply. I have followed the instructions.

However, I am getting this error.

Command /usr/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip_build_root/psutil/';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-ALcCR8-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_root/psutil Storing debug log for failure in /home/ubuntu/.pip/pip.log

Your help would be greatly appreciated.

Thanks a bunch.

Quick workaround for development…

When you do “easy install”, one site(by default named site1.local) is created with frappe and erpnext installed.

Create one more site (lets say site2.local) and use that - I dont think erpnext is installed by default on newly created site

You can run bench serve site2.local to set site2.local as default site served.


@Basawaraj_Savalagi - cool will try this and let you know how it works!

Hi @rohitgehe05
You can also just do a
bench --site site1.local uninstall-app erpnext
to uninstall it from default site, and if you really don’t want the erpnext (or any app) on your bench, you can run
bench remove-app erpnext


1 Like

Hey, sorry for the late reply! But I tried this and then got this error when I tried uninstalling the app from site1.local :

Traceback (most recent call last):
  File "/usr/lib/python2.7/", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/", line 72, in _run_code
    exec code in run_globals
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/", line 79, in <module>
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/", line 16, in main
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/", line 697, in main
    rv = self.invoke(ctx)
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/", line 535, in invoke
    return callback(*args, **kwargs)
  File "/home/frappe/frappe-bench/env/local/lib/python2.7/site-packages/click/", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/commands/", line 24, in _func
    ret = f(frappe._dict(ctx.obj), *args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/commands/", line 320, in uninstall
    remove_app(app, dry_run, yes)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/", line 211, in remove_app
    frappe.delete_doc("Module Def", module_name)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/", line 641, in delete_doc
    ignore_permissions, flags)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/", line 82, in delete_doc
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/", line 187, in check_if_doc_is_linked
    item.parent or, frappe.LinkExistsError)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/", line 316, in throw
    msgprint(msg, raise_exception=exc, title=title, indicator='red')
  File "/home/frappe/frappe-bench/apps/frappe/frappe/", line 306, in msgprint
  File "/home/frappe/frappe-bench/apps/frappe/frappe/", line 279, in _raise_exception
    raise raise_exception, encode(msg)
frappe.exceptions.LinkExistsError: Cannot delete or cancel because Module Def <a href="#Form/Module Def/Accounts">Accounts</a> is linked with Print Format <a href="#Form/Print Format/Point of Sale">Point of Sale</a>

Any idea how to circumvent this? @bomsy @Basawaraj_Savalagi @jsukrut

I guess you have custom app with print format.You have to delete that first.

Got it, got it working! Thanks guys :slight_smile:

How did you resolve this?