[PR #13146] fix: not install libmagic raise error #27851

Closed
opened 2026-02-21 20:42:19 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/13146

State: closed
Merged: Yes


Summary

Tip

Close issue syntax: Fixes #<issue number> or Resolves #<issue number>, see documentation for more details.

fix https://github.com/langgenius/dify/issues/13109

the import magic will raise error on different platforms if libmagic is not installed, on my local windows it will raise:

Error: While importing 'app', an ImportError was raised:

Traceback (most recent call last):
  File "c:\Users\hejl\PycharmProjects\dify\api\.venv\Lib\site-packages\flask\cli.py", line 245, in locate_app
    __import__(module_name)
  File "C:\Users\hejl\PycharmProjects\dify\api\app.py", line 37, in <module>
    app = create_app()
          ^^^^^^^^^^^^
  File "C:\Users\hejl\PycharmProjects\dify\api\app_factory.py", line 25, in create_app
    initialize_extensions(app)
  File "C:\Users\hejl\PycharmProjects\dify\api\app_factory.py", line 87, in initialize_extensions
    ext.init_app(app)
  File "C:\Users\hejl\PycharmProjects\dify\api\extensions\ext_blueprints.py", line 10, in init_app
    from controllers.console import bp as console_app_bp
  File "C:\Users\hejl\PycharmProjects\dify\api\controllers\console\__init__.py", line 26, in <module>
    from .remote_files import RemoteFileInfoApi, RemoteFileUploadApi
  File "C:\Users\hejl\PycharmProjects\dify\api\controllers\console\remote_files.py", line 9, in <module>
    from controllers.common import helpers
  File "C:\Users\hejl\PycharmProjects\dify\api\controllers\common\helpers.py", line 10, in <module>
    import magic
  File "c:\Users\hejl\PycharmProjects\dify\api\.venv\Lib\site-packages\magic\__init__.py", line 209, in <module>
    libmagic = loader.load_lib()
               ^^^^^^^^^^^^^^^^^
  File "c:\Users\hejl\PycharmProjects\dify\api\.venv\Lib\site-packages\magic\loader.py", line 49, in load_lib
    raise ImportError('failed to find libmagic.  Check your installation')
ImportError: failed to find libmagic.  Check your installation

Guessing the mimetype for every user isn't particularly important; a warning message should suffice.

Screenshots

Before After
... ...

Checklist

Important

Please review the checklist below before submitting your pull request.

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
**Original Pull Request:** https://github.com/langgenius/dify/pull/13146 **State:** closed **Merged:** Yes --- # Summary > [!Tip] > Close issue syntax: `Fixes #<issue number>` or `Resolves #<issue number>`, see [documentation](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword) for more details. fix https://github.com/langgenius/dify/issues/13109 the `import magic` will raise error on different platforms if `libmagic` is not installed, on my local windows it will raise: ``` Error: While importing 'app', an ImportError was raised: Traceback (most recent call last): File "c:\Users\hejl\PycharmProjects\dify\api\.venv\Lib\site-packages\flask\cli.py", line 245, in locate_app __import__(module_name) File "C:\Users\hejl\PycharmProjects\dify\api\app.py", line 37, in <module> app = create_app() ^^^^^^^^^^^^ File "C:\Users\hejl\PycharmProjects\dify\api\app_factory.py", line 25, in create_app initialize_extensions(app) File "C:\Users\hejl\PycharmProjects\dify\api\app_factory.py", line 87, in initialize_extensions ext.init_app(app) File "C:\Users\hejl\PycharmProjects\dify\api\extensions\ext_blueprints.py", line 10, in init_app from controllers.console import bp as console_app_bp File "C:\Users\hejl\PycharmProjects\dify\api\controllers\console\__init__.py", line 26, in <module> from .remote_files import RemoteFileInfoApi, RemoteFileUploadApi File "C:\Users\hejl\PycharmProjects\dify\api\controllers\console\remote_files.py", line 9, in <module> from controllers.common import helpers File "C:\Users\hejl\PycharmProjects\dify\api\controllers\common\helpers.py", line 10, in <module> import magic File "c:\Users\hejl\PycharmProjects\dify\api\.venv\Lib\site-packages\magic\__init__.py", line 209, in <module> libmagic = loader.load_lib() ^^^^^^^^^^^^^^^^^ File "c:\Users\hejl\PycharmProjects\dify\api\.venv\Lib\site-packages\magic\loader.py", line 49, in load_lib raise ImportError('failed to find libmagic. Check your installation') ImportError: failed to find libmagic. Check your installation ``` Guessing the mimetype for every user isn't particularly important; a warning message should suffice. # Screenshots | Before | After | |--------|-------| | ... | ... | # Checklist > [!IMPORTANT] > Please review the checklist below before submitting your pull request. - [ ] This change requires a documentation update, included: [Dify Document](https://github.com/langgenius/dify-docs) - [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!) - [x] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change. - [x] I've updated the documentation accordingly. - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods
yindo added the pull-request label 2026-02-21 20:42:19 -05:00
yindo closed this issue 2026-02-21 20:42:19 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#27851