Easy install production install bench in editable mode

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.

4 Likes

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.

2 Likes

This means we can delete the bench manually?
What is the procedure to replace it with the PyPi version?

3 Likes

I also need to know this

If that is the case can you tell me how to do this manually?

I’m throwing my hat in the ring as well, though I’m not too familiar with python development environments. What are the “latest playbooks”?

From there, from what I understand, it’s just a matter of removing the current “playbook” installation and just re-installing it with pip yes?

i also facing this warning, any fix to this?

Also need to fix this, please advise!