ERPNext.com Frappe Cloud Support Partners Foundation Frappe School

ModuleNotFoundError: No module named 'frappe'

Hello dear all, I am trying to install Frappe and ErpNext on Mac OS from this link: Setting up a Mac for Frappe ERPNext Development but when I ran this command line on the terminal :

bench init frappe-bench --python /usr/local/bin/python3

I am encountering the following outcome and I have no clue why this happened. your help and thoughts would really be appreciated.


and the code of the screenshot:

(bench-env) ➜ development bench init frappe-bench --python /usr/local/bin/python3
WARN: Command not being executed in bench directory
$ /Users/ismailahmadi/Development/bench-env/bin/virtualenv -q env -p /usr/local/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 --depth 1 --origin upstream
Cloning into ‘frappe’…
remote: Enumerating objects: 2906, done.
remote: Counting objects: 100% (2906/2906), done.
remote: Compressing objects: 100% (2716/2716), done.
remote: Total 2906 (delta 385), reused 1019 (delta 122), pack-reused 0
Receiving objects: 100% (2906/2906), 11.94 MiB | 749.00 KiB/s, done.
Resolving deltas: 100% (385/385), done.
Updating files: 100% (2788/2788), done.
INFO:bench.app:installing frappe
$ frappe-bench/env/bin/pip install -q -U -e frappe-bench/apps/frappe
WARNING: The script pybabel is installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The script chardetect is installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The scripts coverage, coverage-3.7 and coverage3 are installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The script faker is installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The scripts futurize and pasteurize are installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The scripts pyrsa-decrypt, pyrsa-encrypt, pyrsa-keygen, pyrsa-priv2pub, pyrsa-sign and pyrsa-verify are installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The script google-oauthlib-tool is installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The scripts gunicorn and gunicorn_paster are installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The script html2text is installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The script pygmentize is installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The scripts iptest, iptest3, ipython and ipython3 are installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The script ndg_httpclient is installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The scripts csscapture, csscombine and cssparse are installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The script pyjwt is installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The scripts rq, rqinfo and rqworker are installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The script sqlformat is installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The script watchmedo is installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The script zxcvbn is installed in ‘/Users/ismailahmadi/Development/frappe-bench/env/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Updating node packages…
$ yarn install
yarn install v1.22.4
[1/4] :mag: Resolving packages…
[2/4] :truck: Fetching packages…
[3/4] :link: Linking dependencies…
warning " > bootstrap@4.4.1" has unmet peer dependency “jquery@1.9.1 - 3”.
warning " > bootstrap@4.4.1" has unmet peer dependency “popper.js@^1.16.0”.
[4/4] :hammer: Building fresh packages…
$ yarn run snyk-protect
yarn run v1.22.4
$ snyk protect
Successfully applied Snyk patches

:sparkles: Done in 13.97s.
:sparkles: Done in 171.59s.
$ bench build
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

/usr/local/Cellar/python/3.7.7/bin/python3.7: Error while finding module specification for ‘frappe.utils.bench_helper’ (ModuleNotFoundError: No module named ‘frappe’)

Traceback (most recent call last):
File “/Users/ismailahmadi/Development/bench-env/bin/bench”, line 11, in
load_entry_point(‘frappe-bench’, ‘console_scripts’, ‘bench’)()
File “/Users/ismailahmadi/Development/bench-repo/bench/cli.py”, line 45, in cli
if sys.argv[1] in get_frappe_commands() + ["–site", “–verbose”, “–force”, “–profile”]:
TypeError: unsupported operand type(s) for +: ‘NoneType’ and ‘list’
INFO:bench.utils:setting up backups
SUCCESS: Bench frappe-bench initialized

and later when I ran “bench start”, it did not work and it terminated itself.

(bench-env) ➜ frappe-bench bench start
/usr/local/Cellar/python/3.7.7/bin/python3.7: Error while finding module specification for ‘frappe.utils.bench_helper’ (ModuleNotFoundError: No module named ‘frappe’)

21:28:01 system | redis_cache.1 started (pid=83776)
21:28:01 system | redis_socketio.1 started (pid=83778)
21:28:01 system | redis_queue.1 started (pid=83780)
21:28:01 system | web.1 started (pid=83782)
21:28:01 system | socketio.1 started (pid=83783)
21:28:01 system | watch.1 started (pid=83785)
21:28:01 system | schedule.1 started (pid=83787)
21:28:01 redis_cache.1 | 83776:C 23 Jun 2020 21:28:01.625 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
21:28:01 redis_cache.1 | 83776:C 23 Jun 2020 21:28:01.626 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=83776, just started
21:28:01 redis_cache.1 | 83776:C 23 Jun 2020 21:28:100: 1.626 # Configuration loaded
21:28:01 system | worker_short.1 started (pid=83789)
21:28:01 system | worker_long.1 started (pid=83790)
21:28:01 redis_socketio.1 | 83778:C 23 Jun 2020 21:28:01.631 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
21:28:01 redis_socketio.1 | 83778:C 23 Jun 2020 21:28:01.631 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=83778, just started
21:28:01 redis_socketio.1 | 83778:C 23 Jun 2020 21:28:01.631 # Configuration loaded
21:28:01 redis_queue.1 | 83780:C 23 Jun 2020 21:28:01.632 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
21:28:01 redis_queue.1 | 83780:C 23 Jun 2020 21:28:01.632 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=83780, just started
21:28:01 redis_queue.1 | 83780:C 23 Jun 2020 21:28:01.632 # Configuration loaded
21:28:01 redis_cache.1 | 83776:M 23 Jun 2020 21:28:01.633 * Running mode=standalone, port=13000.
21:28:01 redis_cache.1 | 83776:M 23 Jun 2020 21:28:01.633 # Server initialized
21:28:01 redis_cache.1 | 83776:M 23 Jun 2020 21:28:01.633 * Ready to accept connections
21:28:01 system | worker_default.1 started (pid=83791)
21:28:01 redis_socketio.1 | 83778:M 23 Jun 2020 21:28:01.638 * Running mode=standalone, port=12000.
21:28:01 redis_socketio.1 | 83778:M 23 Jun 2020 21:28:01.638 # Server initialized
21:28:01 redis_socketio.1 | 83778:M 23 Jun 2020 21:28:01.639 * Ready to accept connections
21:28:01 redis_queue.1 | 83780:M 23 Jun 2020 21:28:01.639 * Running mode=standalone, port=11000.
21:28:01 redis_queue.1 | 83780:M 23 Jun 2020 21:28:01.639 # Server initialized
21:28:01 redis_queue.1 | 83780:M 23 Jun 2020 21:28:01.640 * Ready to accept connections
21:28:02 socketio.1 | listening on *: 9000
21:28:02 schedule.1 | WARN: bench is installed in editable mode!
21:28:02 schedule.1 |
21:28:02 schedule.1 | This is not the recommended mode of installation for production. Instead, install the package from PyPI with: pip install frappe-bench
21:28:02 schedule.1 |
21:28:02 watch.1 | WARN: bench is installed in editable mode!
21:28:02 watch.1 |
21:28:02 watch.1 | This is not the recommended mode of installation for production. Instead, install the package from PyPI with: pip install frappe-bench
21:28:02 watch.1 |
21:28:02 web.1 | WARN: bench is installed in editable mode!
21:28:02 web.1 |
21:28:02 web.1 | This is not the recommended mode of installation for production. Instead, install the package from PyPI with: pip install frappe-bench
21:28:02 web.1 |
21:28:02 worker_short.1 | WARN: bench is installed in editable mode!
21:28:02 worker_short.1 |
21:28:02 worker_short.1 | This is not the recommended mode of installation for production. Instead, install the package from PyPI with: pip install frappe-bench
21:28:02 worker_short.1 |
21:28:02 worker_long.1 | WARN: bench is installed in editable mode!
21:28:02 worker_default.1 | WARN: bench is installed in editable mode!
21:28:02 worker_long.1 |
21:28:02 worker_default.1 |
21:28:02 worker_long.1 | This is not the recommended mode of installation for production. Instead, install the package from PyPI with: pip install frappe-bench
21:28:02 worker_default.1 | This is not the recommended mode of installation for production. Instead, install the package from PyPI with: pip install frappe-bench
21:28:02 worker_default.1 |
21:28:02 worker_long.1 |
21:28:02 schedule.1 | /usr/local/Cellar/python/3.7.7/bin/python3.7: Error while finding module specification for ‘frappe.utils.bench_helper’ (ModuleNotFoundError: No module named ‘frappe’)
21:28:02 schedule.1 |
21:28:02 watch.1 | /usr/local/Cellar/python/3.7.7/bin/python3.7: Error while finding module specification for ‘frappe.utils.bench_helper’ (ModuleNotFoundError: No module named ‘frappe’)
21:28:02 schedule.1 | Traceback (most recent call last):
21:28:02 watch.1 |
21:28:02 schedule.1 | File “/Users/ismailahmadi/Development/bench-env/bin/bench”, line 11, in
21:28:02 watch.1 | Traceback (most recent call last):
21:28:02 schedule.1 | load_entry_point(‘frappe-bench’, ‘console_scripts’, ‘bench’)()
21:28:02 watch.1 | File “/Users/ismailahmadi/Development/bench-env/bin/bench”, line 11, in
21:28:02 schedule.1 | File “/Users/ismailahmadi/Development/bench-repo/bench/cli.py”, line 45, in cli
21:28:02 watch.1 | load_entry_point(‘frappe-bench’, ‘console_scripts’, ‘bench’)()
21:28:02 schedule.1 | if sys.argv[1] in get_frappe_commands() + ["–site", “–verbose”, “–force”, “–profile”]:
21:28:02 watch.1 | File “/Users/ismailahmadi/Development/bench-repo/bench/cli.py”, line 45, in cli
21:28:02 schedule.1 | TypeError: unsupported operand type(s) for +: ‘NoneType’ and ‘list’
21:28:02 watch.1 | if sys.argv[1] in get_frappe_commands() + ["–site", “–verbose”, “–force”, “–profile”]:
21:28:02 watch.1 | TypeError: unsupported operand type(s) for +: ‘NoneType’ and ‘list’
21:28:02 web.1 | /usr/local/Cellar/python/3.7.7/bin/python3.7: Error while finding module specification for ‘frappe.utils.bench_helper’ (ModuleNotFoundError: No module named ‘frappe’)
21:28:02 web.1 |
21:28:02 web.1 | Traceback (most recent call last):
21:28:02 web.1 | File “/Users/ismailahmadi/Development/bench-env/bin/bench”, line 11, in
21:28:02 web.1 | load_entry_point(‘frappe-bench’, ‘console_scripts’, ‘bench’)()
21:28:02 web.1 | File “/Users/ismailahmadi/Development/bench-repo/bench/cli.py”, line 45, in cli
21:28:02 web.1 | if sys.argv[1] in get_frappe_commands() + ["–site", “–verbose”, “–force”, “–profile”]:
21:28:02 web.1 | TypeError: unsupported operand type(s) for +: ‘NoneType’ and ‘list’
21:28:02 worker_short.1 | /usr/local/Cellar/python/3.7.7/bin/python3.7: Error while finding module specification for ‘frappe.utils.bench_helper’ (ModuleNotFoundError: No module named ‘frappe’)
21:28:02 worker_short.1 |
21:28:02 worker_short.1 | Traceback (most recent call last):
21:28:02 worker_short.1 | File “/Users/ismailahmadi/Development/bench-env/bin/bench”, line 11, in
21:28:02 worker_short.1 | load_entry_point(‘frappe-bench’, ‘console_scripts’, ‘bench’)()
21:28:02 worker_short.1 | File “/Users/ismailahmadi/Development/bench-repo/bench/cli.py”, line 45, in cli
21:28:02 worker_short.1 | if sys.argv[1] in get_frappe_commands() + ["–site", “–verbose”, “–force”, “–profile”]:
21:28:02 worker_short.1 | TypeError: unsupported operand type(s) for +: ‘NoneType’ and ‘list’
21:28:02 worker_long.1 | /usr/local/Cellar/python/3.7.7/bin/python3.7: Error while finding module specification for ‘frappe.utils.bench_helper’ (ModuleNotFoundError: No module named ‘frappe’)
21:28:02 worker_default.1 | /usr/local/Cellar/python/3.7.7/bin/python3.7: Error while finding module specification for ‘frappe.utils.bench_helper’ (ModuleNotFoundError: No module named ‘frappe’)
21:28:02 worker_long.1 |
21:28:02 worker_long.1 | Traceback (most recent call last):
21:28:02 worker_long.1 | File “/Users/ismailahmadi/Development/bench-env/bin/bench”, line 11, in
21:28:02 worker_default.1 |
21:28:02 worker_long.1 | load_entry_point(‘frappe-bench’, ‘console_scripts’, ‘bench’)()
21:28:02 worker_default.1 | Traceback (most recent call last):
21:28:02 worker_long.1 | File “/Users/ismailahmadi/Development/bench-repo/bench/cli.py”, line 45, in cli
21:28:02 worker_long.1 | if sys.argv[1] in get_frappe_commands() + ["–site", “–verbose”, “–force”, “–profile”]:
21:28:02 worker_default.1 | File “/Users/ismailahmadi/Development/bench-env/bin/bench”, line 11, in
21:28:02 worker_long.1 | TypeError: unsupported operand type(s) for +: ‘NoneType’ and ‘list’
21:28:02 worker_default.1 | load_entry_point(‘frappe-bench’, ‘console_scripts’, ‘bench’)()
21:28:02 worker_default.1 | File “/Users/ismailahmadi/Development/bench-repo/bench/cli.py”, line 45, in cli
21:28:02 worker_default.1 | if sys.argv[1] in get_frappe_commands() + ["–site", “–verbose”, “–force”, “–profile”]:
21:28:02 worker_default.1 | TypeError: unsupported operand type(s) for +: ‘NoneType’ and ‘list’
21:28:02 system | watch.1 stopped (rc=1)
21:28:02 system | sending SIGTERM to redis_cache.1 (pid 83776)
21:28:02 system | sending SIGTERM to redis_socketio.1 (pid 83778)
21:28:02 system | sending SIGTERM to redis_queue.1 (pid 83780)
21:28:02 system | sending SIGTERM to web.1 (pid 83782)
21:28:02 system | sending SIGTERM to socketio.1 (pid 83783)
21:28:02 system | sending SIGTERM to schedule.1 (pid 83787)
21:28:02 system | sending SIGTERM to worker_short.1 (pid 83789)
21:28:02 system | sending SIGTERM to worker_long.1 (pid 83790)
21:28:02 system | sending SIGTERM to worker_default.1 (pid 83791)
21:28:02 redis_queue.1 | 83780:signal-handler (1592922482) Received SIGTERM scheduling shutdown…
21:28:02 redis_socketio.1 | 83778:signal-handler (1592922482) Received SIGTERM scheduling shutdown…
21:28:02 redis_cache.1 | 83776:signal-handler (1592922482) Received SIGTERM scheduling shutdown…
21:28:02 system | schedule.1 stopped (rc=1)
21:28:02 system | socketio.1 stopped (rc=-15)
21:28:02 system | worker_long.1 stopped (rc=-15)
21:28:02 system | worker_default.1 stopped (rc=-15)
21:28:02 system | web.1 stopped (rc=-15)
21:28:02 system | worker_short.1 stopped (rc=-15)
21:28:02 redis_cache.1 | 83776:M 23 Jun 2020 21:28:02.863 # User requested shutdown…
21:28:02 redis_cache.1 | 83776:M 23 Jun 2020 21:28:02.863 * Removing the pid file.
21:28:02 redis_cache.1 | 83776:M 23 Jun 2020 21:28:02.863 # Redis is now ready to exit, bye bye…
21:28:02 system | redis_cache.1 stopped (rc=0)
21:28:02 redis_queue.1 | 83780:M 23 Jun 2020 21:28:02.866 # User requested shutdown…
21:28:02 redis_queue.1 | 83780:M 23 Jun 2020 21:28:02.866 * Removing the pid file.
21:28:02 redis_queue.1 | 83780:M 23 Jun 2020 21:28:02.866 # Redis is now ready to exit, bye bye…
21:28:02 system | redis_queue.1 stopped (rc=0)
21:28:02 redis_socketio.1 | 83778:M 23 Jun 2020 21:28:02.870 # User requested shutdown…
21:28:02 redis_socketio.1 | 83778:M 23 Jun 2020 21:28:02.870 * Removing the pid file.
21:28:02 redis_socketio.1 | 83778:M 23 Jun 2020 21:28:02.870 # Redis is now ready to exit, bye bye…
21:28:02 system | redis_socketio.1 stopped (rc=0)

Thank you so much in advance and looking forward to your thought and inputs!

Running ./env/bin/pip install -e ./apps/frappe from your bench directory should install frappe. but if you still face it after that, then switching to pyenv and creating a all new environment worked for me.

1 Like

Thank you, I just ran it in the bench directory and it “Successfully installed frappe” but the bench start failed again and here is the outcome of “bench start”

Successfully installed frappe
➜ frappe-bench bench start
10:41:51 system | redis_cache.1 started (pid=2483)
10:41:51 system | redis_socketio.1 started (pid=2485)
10:41:51 system | redis_queue.1 started (pid=2487)
10:41:51 system | web.1 started (pid=2489)
10:41:51 system | socketio.1 started (pid=2490)
10:41:51 system | watch.1 started (pid=2492)
10:41:51 system | schedule.1 started (pid=2494)
10:41:51 redis_cache.1 | 2483:C 25 Jun 2020 10:41:51.457 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
10:41:51 redis_cache.1 | 2483:C 25 Jun 2020 10:41:51.457 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=2483, just started
10:41:51 redis_cache.1 | 2483:C 25 Jun 2020 10:41:51.457 # Configuration loaded
10:41:51 redis_cache.1 | 2483:M 25 Jun 2020 10:41:51.459 * Increased maximum number of open files to 10032 (it was originally set to 8192).
10:41:51 system | worker_short.1 started (pid=2496)
10:41:51 redis_queue.1 | 2487:C 25 Jun 2020 10:41:51.460 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
10:41:51 redis_queue.1 | 2487:C 25 Jun 2020 10:41:51.460 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=2487, just started
10:41:51 redis_queue.1 | 2487:C 25 Jun 2020 10:41:51.460 # Configuration loaded
10:41:51 redis_queue.1 | 2487:M 25 Jun 2020 10:41:51.462 * Increased maximum number of open files to 10032 (it was originally set to 8192).
10:41:51 system | worker_long.1 started (pid=2497)
10:41:51 redis_socketio.1 | 2485:C 25 Jun 2020 10:41:51.461 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
10:41:51 redis_socketio.1 | 2485:C 25 Jun 2020 10:41:51.461 # Redis version=5.0.8, bits=64, commit=00000000, modified=0, pid=2485, just started
10:41:51 redis_socketio.1 | 2485:C 25 Jun 2020 10:41:51.461 # Configuration loaded
10:41:51 redis_socketio.1 | 2485:M 25 Jun 2020 10:41:51.465 * Increased maximum number of open files to 10032 (it was originally set to 8192).
10:41:51 system | worker_default.1 started (pid=2498)
10:41:51 redis_cache.1 | 2483:M 25 Jun 2020 10:41:51.466 * Running mode=standalone, port=13000.
10:41:51 redis_queue.1 | 2487:M 25 Jun 2020 10:41:51.466 * Running mode=standalone, port=11000.
10:41:51 redis_cache.1 | 2483:M 25 Jun 2020 10:41:51.466 # Server initialized
10:41:51 redis_queue.1 | 2487:M 25 Jun 2020 10:41:51.466 # Server initialized
10:41:51 redis_cache.1 | 2483:M 25 Jun 2020 10:41:51.466 * Ready to accept connections
10:41:51 redis_queue.1 | 2487:M 25 Jun 2020 10:41:51.467 * Ready to accept connections
10:41:51 redis_socketio.1 | 2485:M 25 Jun 2020 10:41:51.469 * Running mode=standalone, port=12000.
10:41:51 redis_socketio.1 | 2485:M 25 Jun 2020 10:41:51.469 # Server initialized
10:41:51 redis_socketio.1 | 2485:M 25 Jun 2020 10:41:51.469 * Ready to accept connections
10:41:51 socketio.1 | listening on *: 9000
10:41:57 web.1 | * Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)
10:41:57 web.1 | * Restarting with fsevents reloader
10:41:57 web.1 | Traceback (most recent call last):
10:41:57 web.1 | File “/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py”, line 183, in _run_module_as_main
10:41:57 web.1 | mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
10:41:57 web.1 | File “/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/runpy.py”, line 109, in _get_module_details
10:41:57 web.1 | import(pkg_name)
10:41:57 web.1 | File “/Users/ismailahmadi/Development/frappe-bench-new/apps/frappe/frappe/init.py”, line 10, in
10:41:57 web.1 | from werkzeug.local import Local, release_local
10:41:57 web.1 | ModuleNotFoundError: No module named ‘werkzeug’
10:41:57 watch.1 | yarn run v1.22.4
10:41:57 watch.1 | $ node rollup/watch.js
10:41:57 system | web.1 stopped (rc=1)
10:41:57 system | sending SIGTERM to redis_cache.1 (pid 2483)
10:41:57 system | sending SIGTERM to redis_socketio.1 (pid 2485)
10:41:57 system | sending SIGTERM to redis_queue.1 (pid 2487)
10:41:57 system | sending SIGTERM to socketio.1 (pid 2490)
10:41:57 system | sending SIGTERM to watch.1 (pid 2492)
10:41:57 system | sending SIGTERM to schedule.1 (pid 2494)
10:41:57 system | sending SIGTERM to worker_short.1 (pid 2496)
10:41:57 system | sending SIGTERM to worker_long.1 (pid 2497)
10:41:57 system | sending SIGTERM to worker_default.1 (pid 2498)
10:41:57 redis_cache.1 | 2483:signal-handler (1593056517) Received SIGTERM scheduling shutdown…
10:41:57 redis_socketio.1 | 2485:signal-handler (1593056517) Received SIGTERM scheduling shutdown…
10:41:57 redis_queue.1 | 2487:signal-handler (1593056517) Received SIGTERM scheduling shutdown…
10:41:57 system | socketio.1 stopped (rc=-15)
10:41:57 system | schedule.1 stopped (rc=-15)
10:41:57 system | watch.1 stopped (rc=-15)
10:41:57 redis_cache.1 | 2483:M 25 Jun 2020 10:41:57.425 # User requested shutdown…
10:41:57 redis_queue.1 | 2487:M 25 Jun 2020 10:41:57.425 # User requested shutdown…
10:41:57 redis_socketio.1 | 2485:M 25 Jun 2020 10:41:57.425 # User requested shutdown…
10:41:57 redis_cache.1 | 2483:M 25 Jun 2020 10:41:57.425 * Removing the pid file.
10:41:57 redis_queue.1 | 2487:M 25 Jun 2020 10:41:57.425 * Removing the pid file.
10:41:57 redis_cache.1 | 2483:M 25 Jun 2020 10:41:57.425 # Redis is now ready to exit, bye bye…
10:41:57 redis_socketio.1 | 2485:M 25 Jun 2020 10:41:57.425 * Removing the pid file.
10:41:57 redis_queue.1 | 2487:M 25 Jun 2020 10:41:57.425 # Redis is now ready to exit, bye bye…
10:41:57 system | redis_cache.1 stopped (rc=0)
10:41:57 redis_socketio.1 | 2485:M 25 Jun 2020 10:41:57.425 # Redis is now ready to exit, bye bye…
10:41:57 system | redis_queue.1 stopped (rc=0)
10:41:57 system | redis_socketio.1 stopped (rc=0)
10:41:57 system | worker_short.1 stopped (rc=0)
10:41:57 system | worker_default.1 stopped (rc=0)
10:41:57 system | worker_long.1 stopped (rc=0)

The solution to this issue is on this post: Mac OS Setup failed. Please try to read this post carefully to avoid the issue above. I hope this makes your life easy while installing frappe and erpNext on your mac.
Or you can follow these steps:

  1. git clone https://github.com/frappe/bench bench-repo
  2. virtualenv bench-env --python /usr/local/bin/python3
  3. source bench-env/bin/activate
  4. sudo pip install -e bench-repo
  5. bench init frappe-bench

The Problem is the virtual environment for Python on Mac

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.