How to install specific version of erpnext and frappe-bench

Hi,

I want to install the specific versions of erpnext (v13.6.0) and frappe-bench (v13.6.0) on Ubuntu 20.04.
What are the prerequisites and their versions that are required to be installed before installation of erpnext and frappe-bench?

Hi @Sachin_Jaiswal,

To install specific versions of ERPNext (v13.6.0) and Frappe-bench (v13.6.0) on Ubuntu 20.04, you’ll need to follow a slightly different approach. Unfortunately, direct installation of specific versions using package managers isn’t supported. Instead, you must download the source code of the desired versions, paste it into the appropriate directories, and then migrate it.

This method involves a bit more manual work and can be challenging to manage compared to using package managers for installation. However, it’s the only way to ensure you’re using the exact versions you require. Be prepared to handle potential complexities that may arise during this process.

I hope this helps.

Thank You!

Thanks for your reply. Is it possible to restore the database with files of erpnext version 13.6.0 on erpnext version 13.55?

Maybe not, because if you try to restore a site in ERPNext with an older version of the site and an older database, it might cause problems or break the database. Even if it does work, you’ll need to migrate the site, but it might not work properly with the older version.

Thank You!

Yes, you can install specific version of Frappe/ERPNext.

for Frappe:
bench init frappe-bench --frappe-branch v13.6.0

for ERPNext:
bench get-app erpnext --branch v13.6.0

I tried with these commands, but these commands gave errors and asked to roll back changes.
And what prerequisites do I need to install before installation of v13.6.0?

Please try this installation guide.

With this installation guide, can I use the above-mentioned commands to install the erpnext version 13.6.0 and frappe-bench 13.6.0?

Yes, just replace branch name to version number including “v”.

Ok thanks, I will follow the steps you suggested and will revert you.

I tried these steps but was not able to install MariaDB 10.3. Can I install another version that will work?

Just run
sudo apt install mariadb-server

if you are getting any error.
please share full error with screenshot.

This command worked for me.
Thanks

When run the command:-
bench init frappe-bench --verbose --frappe-branch version-13.6.0

I got errors:-

sachin@sachin-VirtualBox:~$ bench init frappe-bench --verbose --frappe-branch v13.6.0
Setting Up Environment
$ python3 -m venv env
$ /home/sachin/frappe-bench/env/bin/python -m pip install --upgrade pip
Collecting pip
Downloading pip-24.0-py3-none-any.whl (2.1 MB)
|████████████████████████████████| 2.1 MB 4.7 MB/s
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 20.0.2
Uninstalling pip-20.0.2:
Successfully uninstalled pip-20.0.2
Successfully installed pip-24.0
$ /home/sachin/frappe-bench/env/bin/python -m pip install wheel
Collecting wheel
Downloading wheel-0.42.0-py3-none-any.whl.metadata (2.2 kB)
Downloading wheel-0.42.0-py3-none-any.whl (65 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 65.4/65.4 kB 4.0 MB/s eta 0:00:00
Installing collected packages: wheel
Successfully installed wheel-0.42.0
Getting frappe
$ git clone GitHub - frappe/frappe: Low code web framework for real world applications, in Python and Javascript --branch v13.6.0 --depth 1 --origin upstream
Cloning into ‘frappe’…
remote: Enumerating objects: 2912, done.
remote: Counting objects: 100% (2912/2912), done.
remote: Compressing objects: 100% (2699/2699), done.
remote: Total 2912 (delta 393), reused 1192 (delta 141), pack-reused 0
Receiving objects: 100% (2912/2912), 16.09 MiB | 1.12 MiB/s, done.
Resolving deltas: 100% (393/393), done.
Note: switching to ‘6346267be79c507ba832289a00eafd33a12089a4’.

You are in ‘detached HEAD’ state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

git switch -c

Or undo this operation with:

git switch -

Turn off this advice by setting config variable advice.detachedHead to false

Installing frappe
$ /home/sachin/frappe-bench/env/bin/python -m pip install --upgrade -e /home/sachin/frappe-bench/apps/frappe
Obtaining file:///home/sachin/frappe-bench/apps/frappe
Preparing metadata (setup.py) … done
Collecting Babel~=2.9.0 (from frappe==13.6.0)
Downloading Babel-2.9.1-py2.py3-none-any.whl (8.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.8/8.8 MB 2.0 MB/s eta 0:00:00
Collecting Click~=7.1.2 (from frappe==13.6.0)
Downloading click-7.1.2-py2.py3-none-any.whl (82 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 82.8/82.8 kB 1.8 MB/s eta 0:00:00
Collecting Faker~=8.1.0 (from frappe==13.6.0)
Downloading Faker-8.1.4-py3-none-any.whl (1.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 2.6 MB/s eta 0:00:00
Collecting GitPython~=3.1.14 (from frappe==13.6.0)
Downloading GitPython-3.1.41-py3-none-any.whl.metadata (14 kB)
Collecting Jinja2~=2.11.3 (from frappe==13.6.0)
Downloading Jinja2-2.11.3-py2.py3-none-any.whl (125 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 125.7/125.7 kB 1.6 MB/s eta 0:00:00
Collecting Pillow~=8.2.0 (from frappe==13.6.0)
Downloading Pillow-8.2.0-cp38-cp38-manylinux1_x86_64.whl (3.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 1.7 MB/s eta 0:00:00
Collecting PyJWT~=1.7.1 (from frappe==13.6.0)
Downloading PyJWT-1.7.1-py2.py3-none-any.whl (18 kB)
Collecting PyMySQL~=1.0.2 (from frappe==13.6.0)
Downloading PyMySQL-1.0.3-py3-none-any.whl (43 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 43.7/43.7 kB 695.2 kB/s eta 0:00:00
Collecting PyPDF2~=1.26.0 (from frappe==13.6.0)
Downloading PyPDF2-1.26.0.tar.gz (77 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 77.6/77.6 kB 1.2 MB/s eta 0:00:00
Preparing metadata (setup.py) … done
Collecting PyQRCode~=1.2.1 (from frappe==13.6.0)
Downloading PyQRCode-1.2.1.zip (41 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.9/41.9 kB 992.3 kB/s eta 0:00:00
Preparing metadata (setup.py) … done
Collecting PyYAML~=5.4.1 (from frappe==13.6.0)
Downloading PyYAML-5.4.1-cp38-cp38-manylinux1_x86_64.whl (662 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 662.4/662.4 kB 2.2 MB/s eta 0:00:00
Collecting RestrictedPython~=5.1 (from frappe==13.6.0)
Downloading RestrictedPython-5.4-py2.py3-none-any.whl.metadata (11 kB)
Collecting Werkzeug~=0.16.1 (from frappe==13.6.0)
Downloading Werkzeug-0.16.1-py2.py3-none-any.whl (327 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 327.4/327.4 kB 1.7 MB/s eta 0:00:00
Collecting Whoosh~=2.7.4 (from frappe==13.6.0)
Downloading Whoosh-2.7.4-py2.py3-none-any.whl (468 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 468.8/468.8 kB 2.0 MB/s eta 0:00:00
Collecting beautifulsoup4~=4.9.3 (from frappe==13.6.0)
Downloading beautifulsoup4-4.9.3-py3-none-any.whl (115 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 115.8/115.8 kB 1.6 MB/s eta 0:00:00
Collecting bleach-whitelist~=0.0.11 (from frappe==13.6.0)
Downloading bleach-whitelist-0.0.11.tar.gz (7.3 kB)
Preparing metadata (setup.py) … done
Collecting bleach~=3.3.0 (from frappe==13.6.0)
Downloading bleach-3.3.1-py2.py3-none-any.whl (146 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 146.6/146.6 kB 2.6 MB/s eta 0:00:00
Collecting boto3~=1.17.53 (from frappe==13.6.0)
Downloading boto3-1.17.112-py2.py3-none-any.whl (131 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 131.6/131.6 kB 361.1 kB/s eta 0:00:00
INFO: pip is looking at multiple versions of frappe to determine which version is compatible with other requirements. This could take a while.
ERROR: Ignored the following yanked versions: 1.0.0, 1.1.0, 1.2.0, 2.0.0, 2.1.0, 2.2.1, 2.3.0, 2.4.0, 2.4.1, 2.5.0, 2.6.0, 2.6.1, 2.7.0, 2.8.0, 2.9.0, 2.9.1, 2.10.0, 2.10.1, 2.11.0, 2.12.0, 2.12.1, 2.12.2, 2.12.3, 2.13.0, 2.14.0, 2.14.1, 2.14.2, 2.15.0, 2.16.0, 2.17.0, 2.18.0, 2.19.0, 2.20.0, 2.21.0, 2.22.0, 2.23.0, 2.23.1, 2.24.0, 2.24.1, 2.25.0, 2.25.1, 2.26.0, 2.27.0, 2.28.0, 2.29.0, 2.29.1, 3.0.0, 3.1.0, 3.1.1, 3.2.0, 3.3.0, 3.4.0, 3.4.1, 3.5.0, 3.6.0, 3.7.0, 3.8.0, 3.9.0, 3.10.0, 3.11.0, 3.11.1, 3.12.0, 3.13.0, 3.14.0, 3.15.0, 3.16.0, 3.17.0, 3.18.0, 3.19.0, 3.20.0, 3.21.0, 3.22.0, 3.23.0, 3.24.0, 3.25.0, 3.26.1, 3.27.0, 3.28.0, 3.29.0, 3.29.1, 3.29.2, 3.30.0, 3.31.0, 3.32.0, 3.33.0, 3.34.0, 3.35.0, 3.37.0, 3.37.1, 3.37.2, 3.38.0, 3.39.0, 3.39.1, 3.40.0, 3.41.0, 3.42.0, 3.43.0, 3.44.0, 3.45.0, 3.46.0, 3.47.0, 3.48.0, 3.49.0, 3.50.0, 3.51.0, 3.52.0, 3.53.0, 3.54.0, 3.55.0, 3.56.0, 3.57.1, 3.58.0, 3.59.0, 4.0.0, 4.1.0, 4.2.0, 4.3.0, 4.4.0, 4.5.0, 4.6.0, 4.7.0, 4.8.0, 4.9.0, 4.10.0, 4.11.0, 4.12.0, 4.13.0, 4.13.1, 4.14.0, 4.15.2, 4.16.0, 4.17.0
ERROR: Could not find a version that satisfies the requirement braintree~=4.8.0 (from frappe) (from versions: 3.59.1, 4.17.1, 4.18.0, 4.18.1, 4.19.0, 4.20.0, 4.21.0, 4.22.0, 4.23.0, 4.24.0, 4.25.0, 4.26.0)
ERROR: No matching distribution found for braintree~=4.8.0
subprocess.CalledProcessError: Command '/home/sachin/frappe-bench/env/bin/python -m pip install --upgrade -e /home/sachin/frappe-bench/apps/frappe ’ returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File “/usr/local/lib/python3.8/dist-packages/bench/commands/make.py”, line 75, in init
init(
File “/usr/local/lib/python3.8/dist-packages/bench/utils/render.py”, line 105, in wrapper_fn
return fn(*args, **kwargs)
File “/usr/local/lib/python3.8/dist-packages/bench/utils/system.py”, line 87, in init
get_app(
File “/usr/local/lib/python3.8/dist-packages/bench/app.py”, line 771, in get_app
app.install(verbose=verbose, skip_assets=skip_assets, restart_bench=restart_bench)
File “/usr/local/lib/python3.8/dist-packages/bench/utils/render.py”, line 126, in wrapper_fn
return fn(*args, **kwargs)
File “/usr/local/lib/python3.8/dist-packages/bench/app.py”, line 254, in install
install_app(
File “/usr/local/lib/python3.8/dist-packages/bench/app.py”, line 903, in install_app
bench.run(
File “/usr/local/lib/python3.8/dist-packages/bench/bench.py”, line 48, in run
return exec_cmd(cmd, cwd=cwd or self.cwd, _raise=_raise)
File “/usr/local/lib/python3.8/dist-packages/bench/utils/init.py”, line 169, in exec_cmd
raise CommandFailedError(cmd) from subprocess.CalledProcessError(return_code, cmd)
bench.exceptions.CommandFailedError: /home/sachin/frappe-bench/env/bin/python -m pip install --upgrade -e /home/sachin/frappe-bench/apps/frappe

ERROR: There was a problem while creating frappe-bench
Do you want to rollback these changes? [y/N]: