Bench-cli installed from source vs bench-cli in frappe docker

Hi everyone

I have used bench-cli (GitHub - frappe/bench: CLI to manage Multi-tenant deployments for Frappe apps) installed from source and bench-cli installed in the container of frappe_docker (GitHub - frappe/frappe_docker: Docker images for production and development setups of the Frappe framework and ERPNext)

I see that there is a difference, especially in the translation feature of the bench-cli.

While the bench-cli (bench --version 5.0.0) installed from source only has:

  • download-translations Download latest translations
    The bench-cli from the frappe_docker has
  • get-untranslated Get untranslated strings for language
  • import-translations Update translated strings
  • update-translations Update translated strings
    (bench --version in frappe_docker gives me this error)

I checked the code from the repo frappe_docker and there was something like
#!/home/frappe/frappe-bench/env/bin/python

import os
import subprocess
import sys

if __name__ == "__main__":
    bench_dir = os.path.join(os.sep, "home", "frappe", "frappe-bench")
    sites_dir = os.path.join(bench_dir, "sites")
    bench_helper = os.path.join(
        bench_dir,
        "apps",
        "frappe",
        "frappe",
        "utils",
        "bench_helper.py",
    )
    cwd = os.getcwd()
    os.chdir(sites_dir)
    subprocess.check_call(
        [sys.executable, bench_helper, "frappe"] + sys.argv[1:],
    )

However I can not fit together how this is going to provide the others features that is provided by bench-cli in the docker container.

My question is: how to install bench-cli from source but have additional features (get-untranslated, import-translations, update-translations) like bench-cli in docker container ?

Best regards

https://github.com/frappe/frappe_docker/issues/666

1 Like