Upgrade from Ubuntu 18 to 20

if i am running ERPNext on Ubuntu 18 and upgrade Ubuntu to 20 (using SSH commands) without touching ERPNext install; would ERP Next continue to work properly or am i likely to face issues?

It should work fine, unless libraries etc are changed or removed by the upgrade process.
If you make a backup of your ERPNext system before you do the upgrade, you will be able to get back to a working system if the upgrade goes wrong.

anyone here tried it? any experiences ?

Complete and utter disaster… Frappe was rendered non-functional and the site never came back online. AVOID.

1 Like

@psiborg999 anks for sharing your experience. And more importantly saving me from the trouble! :slight_smile:

No worries, friend… Glad to help!

1 Like

I’m currently running a development instance of ERPNext on Ubuntu 20.04. Fresh install, not an upgrade.

I agree with @trentmu that for the most part, ERPNext has very few dependencies on Linux/Ubuntu. Almost all the dependencies are 3rd party packages.

With that said, here are the 2 biggest differences to watch for, if you’re installing/upgrading in 2020.

  1. Ubuntu 20.04 no longer ships with Python2. If your ERPNext (or any installed dependencies) rely on Python 2? You’ll need to upgrade those packages to Python3 compatibility.

  2. NodeJS 13+ no longer depends on Python2. However…Node 12 and earlier still do. This could place your installation in a situation where ERPNext and its Python packages are targeting Python3. But your Node might still expect Python2!

As long as you keep those things in mind, ERPNext manually installs quite fine on Ubuntu 20.04.

3 Likes

thanks for guidance but this would require lot of technical know how and i am a novice with basic knowledge.

anyone knows when can we expect a ubuntu 20 based erpnext system? are there any plans for it even?

You can freshly install on Ubuntu 20 right now. No special skills needed.

But if you want to upgrade to Ubuntu 20 from an older distro? That may (or may not) be more difficult.

would easy install work for fresh installation on Ubuntu 20?

It “should”. It’s supposed to. However, I cannot say I’ve personally tested that. I’m using Ubuntu 20.04, but I never install using easy install.

Sorry for appending to old post, but just tried in place upgrade for ERPNext Ver 12 from Ubuntu 18.04 to 20.04 and was massive fail. Had to go back to snapshot pre-upgrade. Issue was running ERPNext on python 3.7 which got eliminated and python 3.8 installed. Was never able to get bench to work afterwards even though python and python3 symlinks pointed correctly to 3.8.

Ideas for next attempt? Move to python 3.8 on Ubuntu 18.04 before upgrade? Delete 3.7 before upgrade? ??

To explain, let’s assume you’re installing Frappe/ERPNext for the first time, on a brand-new host.

When Frappe/ERPNext is installed, it creates a Python Virtual Environment in a subdirectory named 'env':

This virtual environment is linked to a specific version of Python, installed on your system. It also contains all the 3rd party Python packages that ERNext requires. Also semi-specific to your version of Python.

So now, you upgrade Ubuntu from 18.04 to 20.04. The operating system removes Python 3.7, and replaces with Python 3.8. What happens to the 'env' Python Virtual environment?

Well…it breaks. :slightly_frowning_face:

Because even though Ubuntu has valid 'python' and 'python3' symlinks pointing at the correct files, the particular Python Virtual Environment links inside ‘env’ aren’t touched
(as 3rd party software, Ubuntu has no idea that Frappe and ERPNext exist)

Furthermore, all the Python packages in ‘env’ are also still Python 3.7 packages.

To solve this, you must rebuild the Python virtual environment ‘env’. It’s definitely possible to do so manually, however there is a Bench command for doing this:

bench migrate-env <path_to_your_python>

That command “should” solve your upgrade issue.
(from a Python perspective anyway; there are other potential pitfalls when updating the OS)

2 Likes