frappe / wiki

Free and Open Source Wiki built on top of Frappe
https://frappe.io/wiki
MIT License
226 stars 174 forks source link

ImportError: Module import failed for Wiki Page, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.wiki_page' #203

Closed g0ha1 closed 8 months ago

g0ha1 commented 9 months ago

Hello, clean frappe instance, installed only erpnext, got this error while installing wiki:

frappe@erp2.test:~/frappe-bench$ bench version
erpnext 15.4.0
frappe 15.3.0

frappe@erp2.test:~/frappe-bench$ bench get-app https://github.com/frappe/wiki
Getting wiki
$ git clone https://github.com/frappe/wiki  --depth 1 --origin upstream
Cloning into 'wiki'...
remote: Enumerating objects: 143, done.
remote: Counting objects: 100% (143/143), done.
remote: Compressing objects: 100% (129/129), done.
remote: Total 143 (delta 21), reused 57 (delta 3), pack-reused 0
Receiving objects: 100% (143/143), 1.61 MiB | 8.57 MiB/s, done.
Resolving deltas: 100% (21/21), done.
Ignoring dependencies of https://github.com/frappe/wiki. To install dependencies use --resolve-deps
Installing wiki
$ /home/frappe/frappe-bench/env/bin/python -m pip install --quiet --upgrade -e /home/frappe/frappe-bench/apps/wiki 
$ yarn install
yarn install v1.22.21
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 12.05s.
$ bench build --app wiki
✔ Application Assets Linked                                                                                                                                                                  

yarn run v1.22.21
$ node esbuild --production --apps wiki --run-build-command
Browserslist: caniuse-lite is outdated. Please run:
  npx update-browserslist-db@latest
  Why you should do it regularly: https://github.com/browserslist/update-db#readme
File                                                        Size

wiki/dist/js/
└─ wiki.bundle.MWKRO45I.js                                  557.10 Kb

wiki/dist/css/
├─ contributions.bundle.PADS7GZI.css                        0.99 Kb
├─ edit_wiki.bundle.L536LCLO.css                            21.55 Kb
└─ wiki.bundle.Q54KGI7V.css                                 47.61 Kb

wiki/dist/css-rtl/
├─ contributions.bundle.DTV4FUVC.css                        0.99 Kb
├─ edit_wiki.bundle.QFZQE5ZP.css                            21.56 Kb
└─ wiki.bundle.45WAZ5QB.css                                 47.63 Kb

 DONE  Total Build Time: 1.522s

Done in 2.83s.
[sudo] password for frappe: 
$ sudo supervisorctl restart frappe-bench-workers: frappe-bench-web:
frappe-bench-workers:frappe-bench-frappe-schedule: stopped
frappe-bench-workers:frappe-bench-frappe-long-worker-0: stopped
frappe-bench-workers:frappe-bench-frappe-short-worker-0: stopped
frappe-bench-web:frappe-bench-frappe-web: stopped
frappe-bench-workers:frappe-bench-frappe-schedule: started
frappe-bench-workers:frappe-bench-frappe-short-worker-0: started
frappe-bench-workers:frappe-bench-frappe-long-worker-0: started
frappe-bench-web:frappe-bench-frappe-web: started

frappe@erp2.test:~/frappe-bench$ bench --site erp2.test install-app wiki
Installing wiki...
An error occurred while installing wiki: Module import failed for Wiki Page, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.wiki_page'
Traceback (most recent call last):
  File "apps/frappe/frappe/modules/utils.py", line 241, in load_doctype_module
    doctype_python_modules[key] = frappe.get_module(module_name)
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/__init__.py", line 1415, in get_module
    return importlib.import_module(modulename)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1128, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1142, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'frappe.core.doctype.wiki_page'

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

Traceback (most recent call last):
  File "apps/frappe/frappe/commands/site.py", line 462, in install_app
    _install_app(app, verbose=context.verbose, force=force)
  File "apps/frappe/frappe/installer.py", line 306, in install_app
    frappe.get_attr(after_install)()
  File "apps/wiki/wiki/install.py", line 10, in after_install
    page = frappe.new_doc("Wiki Page")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/__init__.py", line 1127, in new_doc
    new_doc = get_new_doc(doctype, parent_doc, parentfield, as_dict=as_dict)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/create_new.py", line 22, in get_new_doc
    frappe.local.new_doc_templates[doctype] = make_new_doc(doctype)
                                              ^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/create_new.py", line 35, in make_new_doc
    doc = frappe.get_doc(
          ^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/__init__.py", line 1272, in get_doc
    doc = frappe.model.document.get_doc(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/document.py", line 80, in get_doc
    controller = get_controller(doctype)
                 ^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/base_document.py", line 69, in get_controller
    site_controllers[doctype] = import_controller(doctype)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/model/base_document.py", line 94, in import_controller
    module = load_doctype_module(doctype, module_name)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "apps/frappe/frappe/modules/utils.py", line 245, in load_doctype_module
    raise ImportError(msg) from e
ImportError: Module import failed for Wiki Page, the DocType you're trying to open might be deleted.<br> Error: No module named 'frappe.core.doctype.wiki_page'
vineyrawat commented 9 months ago

Please don't directly get wiki app using bench get-app instead use bench get-app --branch version-14 it will work fine

g0ha1 commented 9 months ago

Please don't directly get wiki app using bench get-app instead use bench get-app --branch version-14 it will work fine

Yes, it works if i use frappe 14, but this installation used frappe 15 (look at "bench version" command). If i try to specify the 15th branch, i get this error:

frappe@erp2.test:~/frappe-bench$ bench version
erpnext 15.4.0
frappe 15.3.0

frappe@erp2.test:~/frappe-bench$ bench get-app --branch version-14 wiki
Getting wiki
$ git clone https://github.com/frappe/wiki.git --branch version-14 --depth 1 --origin upstream
Cloning into 'wiki'...
remote: Enumerating objects: 135, done.
remote: Counting objects: 100% (135/135), done.
remote: Compressing objects: 100% (119/119), done.
remote: Total 135 (delta 16), reused 68 (delta 4), pack-reused 0
Receiving objects: 100% (135/135), 1.60 MiB | 8.92 MiB/s, done.
Resolving deltas: 100% (16/16), done.
Ignoring dependencies of wiki. To install dependencies use --resolve-deps
Installing wiki
$ /home/frappe/frappe-bench/env/bin/python -m pip install --quiet --upgrade -e /home/frappe/frappe-bench/apps/wiki 
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.
rq 1.15.1 requires redis>=4.0.0, but you have redis 3.5.3 which is incompatible.
frappe 15.3.0 requires redis~=4.5.5, but you have redis 3.5.3 which is incompatible.
$ yarn install
yarn install v1.22.21
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 7.67s.
$ bench build --app wiki
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 114, in <module>
    main()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 20, in main
    click.Group(commands=commands)(prog_name="bench")
  File "/home/frappe/frappe-bench/env/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/frappe/frappe-bench/env/lib/python3.11/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/frappe/frappe-bench/env/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/frappe/frappe-bench/env/lib/python3.11/site-packages/click/core.py", line 1685, in invoke
    super().invoke(ctx)
  File "/home/frappe/frappe-bench/env/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/frappe/frappe-bench/env/lib/python3.11/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/frappe/frappe-bench/env/lib/python3.11/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 44, in app_group
    ctx.obj = {"sites": get_sites(site), "force": force, "verbose": verbose, "profile": profile}
                        ^^^^^^^^^^^^^^^
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/bench_helper.py", line 56, in get_sites
    elif default_site := frappe.get_conf().default_site:
                         ^^^^^^^^^^^^^^^^^
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 384, in get_conf
    with init_site(site):
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 394, in __enter__
    init(self.site)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 257, in init
    setup_redis_cache_connection()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 414, in setup_redis_cache_connection
    from frappe.utils.redis_wrapper import RedisWrapper
  File "/home/frappe/frappe-bench/apps/frappe/frappe/utils/redis_wrapper.py", line 7, in <module>
    from redis.commands.search import Search
ModuleNotFoundError: No module named 'redis.commands'
ERROR: bench build --app wiki
subprocess.CalledProcessError: Command 'bench build --app wiki' 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/bin/bench", line 8, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.10/dist-packages/bench/cli.py", line 132, in cli
    bench_command()
  File "/usr/local/lib/python3.10/dist-packages/bench/commands/make.py", line 167, in get_app
    get_app(
  File "/usr/local/lib/python3.10/dist-packages/bench/app.py", line 444, in get_app
    app.install(verbose=verbose, skip_assets=skip_assets, restart_bench=restart_bench)
  File "/usr/local/lib/python3.10/dist-packages/bench/utils/render.py", line 126, in wrapper_fn
    return fn(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/bench/app.py", line 242, in install
    install_app(
  File "/usr/local/lib/python3.10/dist-packages/bench/app.py", line 586, in install_app
    build_assets(bench_path=bench_path, app=app)
  File "/usr/local/lib/python3.10/dist-packages/bench/utils/bench.py", line 351, in build_assets
    exec_cmd(command, cwd=bench_path, env={"BENCH_DEVELOPER": "1"})
  File "/usr/local/lib/python3.10/dist-packages/bench/utils/__init__.py", line 158, in exec_cmd
    raise CommandFailedError(cmd) from subprocess.CalledProcessError(return_code, cmd)
bench.exceptions.CommandFailedError: bench build --app wiki
Nicolas-Che commented 8 months ago

I have the same error, any solution?

vineyrawat commented 8 months ago

Hi, I'm able to install this in version 15; all I've done is run these two commands after I got the above error bench setup requirements bench build --app wiki and then re-installed the app on site and it works perfectly

g0ha1 commented 8 months ago

Hi, I'm able to install this in version 15; all I've done is run these two commands after I got the above error bench setup requirements bench build --app wiki and then re-installed the app on site and it works perfectly

Thanks, this helps