For the purposes of this discussion, think of ERPNext as 2 separate “installed programs”:
- Frappe Framework + ERPNext
To upgrade the Python program named ‘Bench’ you would run this:
sudo -H pip3 install --upgrade frappe-bench
That command downloads the latest Bench from PyPi.org, and upgrades your installed version. It’s usually harmless to do this. Bench stands alone, and doesn’t share dependencies with the rest of Frappe and ERPNext.
Upgrading Frappe + ERPNext
To update this, do the following:
- Change your current, working directory to
'frappe-bench' (or in your case, sounds like it’s named
- Run this command using Bench:
This does a ton of things.
- Pulls the latest Frappe and ERPNext code from GitHub.
- Installs Python dependencies.
- Installs Node.js dependencies
- Synchronizes your SQL database to the new schema.
Finally, this error here:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
bench 5.0.0 requires Jinja2==2.10.3, but you have jinja2 2.11.3 which is incompatible.
Successfully installed Jinja2-2.11.3
The error is because Bench 5.0.0 wants to see Jinja2 2.10.3 on your machine. But it didn’t find that. Instead, it found something newer: Jinja2 2.11.3
Pip is warning you that maybe Bench will have problems. Because your Jinja2 is newer than what Bench v5 was coded with.
Realistically, it’s probably fine. That’s a very minor difference in versions (no pun intended). Unless Bench crashes when you execute it, you’re probably okay as-is.
Hope this helps explain things a bit more!