It is recommended to install bench not in editable mode for production.
Manually this can be done by doing pip3 install frappe-bench.
But using easy-install even if I’m add --production, the bench is still installed in editable mode.
WARN: bench is installed in editable mode!
This is not the recommended mode of installation for production. Instead, install the package from PyPI with: `pip install frappe-bench`
Is this a bug in the install script or is it required to do this way?
Can I delete the bench directory created by the script?
from @revant_one:
Using pip install -e ./bench-repo installs the bench from the locally cloned bench-repo directory.
That is called the editable mode. Because you can edit the bench source code and it’ll reflect when bench command is executed.
It is recommended if you’re developing bench itself or sending PR to bench repo.
If pip install frappe-bench is used, it’ll pull the pypi package and install it.
You’ll not be able to do bench development. Recommended when you know editing bench is not required.
That’s why I raise this thread.
Easy install with --production is supposed to be a production install. so it is expected that bench is not in editable mode (as you explained).
But I look at the install.py script and see that it install bench by cloning bench repo as well. The --production is only to setup the requirement for production (ansible, nginx, supervisor, etc.).
It is not a bug. But it may confuse if the production is successfully installed or development is installed.
The easy install script requires the latest playbooks, hence the editable install. However, after the setup is done, it should delete the editable install and install the PyPI version, in case of production mode.
This hasn’t been fixed in the easy install script yet.