Is the the reason my install is failing.....?

erpdev@nerpdev:~$ bench --version
5.0.0

erpdev@nerpdev:~$ bench init --frappe-branch version-12 --python /usr/bin/python3 frappe-bench
$ /home/erpdev/.local/bin/virtualenv -q env -p /usr/bin/python3
Already using interpreter /usr/bin/python3
$ ./env/bin/pip install -q -U -e frappe-bench/apps/frappe
ERROR: frappe-bench/apps/frappe is not a valid editable requirement. It should either be a path to a local project or a VCS URL (beginning with svn+, git+, hg+, or bzr+).

If I run the command …

./env/bin/pip install -q -U -e frappe-bench/apps/frappe

… without the editable ("-e") flag, I do not get that error.

Questions
Am I the only one with that error?
Is it something to worry about or does it not affect anything?

@MartinHBramwell

Does the bench creation fail for you at that stage? Can you share the complete error message. It goes ahead for me after throwing the error message.

(env) ➜  ~ bench init test-bench
WARN: Command not being executed in bench directory
$ /Users/gavin/.pyenv/versions/3.7.7/bin/virtualenv -q env -p python3
$ ./env/bin/pip install -q -U -e test-bench/apps/frappe
ERROR: test-bench/apps/frappe is not a valid editable requirement. It should either be a path to a local project or a VCS URL (beginning with svn+, git+, hg+, or bzr+).
INFO:bench.app:Getting app frappe
$ git clone https://github.com/frappe/frappe.git  --depth 1 --origin upstream
Cloning into 'frappe'...
remote: Enumerating objects: 2756, done.
remote: Counting objects: 100% (2756/2756), done.
remote: Compressing objects: 100% (2526/2526), done.
remote: Total 2756 (delta 401), reused 1045 (delta 166), pack-reused 0
Receiving objects: 100% (2756/2756), 12.84 MiB | 2.67 MiB/s, done.
Resolving deltas: 100% (401/401), done.
Checking out files: 100% (2646/2646), done.
INFO:bench.app:installing frappe
$ test-bench/env/bin/pip install -q -U -e test-bench/apps/frappe
Updating node packages...
$ yarn install
yarn install v1.19.1
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...

Hi @gavindsouza

Thanks for looking at this. I really appreciate the care and time you take with helping people out here.

No. The installation keeps running and everything else in the log looks completely normal.
I now think the script deliberately recovers from that error.

Here’s why.

I run this command:

bench init --frappe-branch version-12 --python /usr/bin/python3 frappe-bench

The resulting log shows that the same command actually runs twice and error free the second time through.
#1 Not run from a bench directory…

$ ./env/bin/pip install -q -U -e frappe-bench/apps/frappe
ERROR: frappe-bench/apps/frappe is not a valid editable requirement. It should either be a path to a local project or a VCS URL (beginning with svn+, git+, hg+, or bzr+).

#2 Is run from a bench directory…

$ frappe-bench/env/bin/pip install -q -U -e frappe-bench/apps/frappe 
Updating node packages...

You can see the difference in the full log I provide below.

Does that sound convincing?

I solved the main problem I was having, and it was not related to this apparent error.

I still have one more install defect I can’t figure out, concerning socketio. I’m about to post about it. If you have any ideas I would be glad to hear them.


Note

Here’s the full log:

WARN: Command not being executed in bench directory
$ /home/erpdev/.local/bin/virtualenv -q env -p /usr/bin/python3
Already using interpreter /usr/bin/python3
$ ./env/bin/pip install -q -U -e frappe-bench/apps/frappe
ERROR: frappe-bench/apps/frappe is not a valid editable requirement. It should either be a path to a local project or a VCS URL (beginning with svn+, git+, hg+, or bzr+).
INFO:bench.app:Getting app frappe
$ git clone https://github.com/frappe/frappe.git --branch version-12 --depth 1 --origin upstream
Cloning into 'frappe'...
remote: Enumerating objects: 2615, done.
remote: Counting objects: 100% (2615/2615), done.
remote: Compressing objects: 100% (2406/2406), done.
remote: Total 2615 (delta 355), reused 1082 (delta 160), pack-reused 0
Receiving objects: 100% (2615/2615), 12.36 MiB | 6.44 MiB/s, done.
Resolving deltas: 100% (355/355), done.
INFO:bench.app:installing frappe
$ frappe-bench/env/bin/pip install -q -U -e frappe-bench/apps/frappe 
Updating node packages...
$ yarn install
yarn install v1.22.4
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > bootstrap@4.3.1" has unmet peer dependency "jquery@1.9.1 - 3".
warning " > bootstrap@4.3.1" has unmet peer dependency "popper.js@^1.14.7".
[4/4] Building fresh packages...
Done in 112.15s.
$ bench build
yarn run v1.22.4
$ FRAPPE_ENV=production node rollup/build.js
Production mode
✔ Built js/moment-bundle.min.js
✔ Built js/libs.min.js

Building frappe assets...

✔ Built js/checkout.min.js
✔ Built js/dialog.min.js
✔ Built js/modules.min.js
✔ Built js/social.min.js
✔ Built css/frappe-rtl.css
✔ Built css/printview.css
✔ Built js/web_form.min.js
✔ Built js/list.min.js
✔ Built js/chat.js
✔ Built css/form.min.css
✔ Built css/module.min.css
✔ Built css/list.min.css
✔ Built css/report.min.css
✔ Built frappe/css/email.css
✔ Built css/frappe-chat-web.css
✔ Built css/web_form.css
✔ Built css/desk.min.css
✔ Built js/barcode_scanner.min.js
✔ Built js/desk.min.js
✔ Built js/bootstrap-4-web.min.js
✔ Built js/frappe-recorder.min.js
✔ Built js/frappe-web.min.js
✔ Built js/control.min.js
✔ Built css/frappe-web-b4.css
✔ Built js/form.min.js
✔ Built js/data_import_tools.min.js
✔ Built js/report.min.js
✨  Done in 54.03s
Done in 55.05s.
INFO:bench.utils:setting up backups
no crontab for erpdev
SUCCESS: Bench frappe-bench initialized

The bug is fixed on develop via bench#959. It will be pushed in the next release of bench. It comes up from pip because the path doesn’t exist and can be ignored. For now, this doesn’t really change the behaviour of bench.