Skip to content

Binary distribution for libmagic on Windows #293

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
ahupp opened this issue Aug 25, 2023 · 3 comments · May be fixed by #294
Open

Binary distribution for libmagic on Windows #293

ahupp opened this issue Aug 25, 2023 · 3 comments · May be fixed by #294

Comments

@ahupp
Copy link
Owner

ahupp commented Aug 25, 2023

Windows users regularly run into issues with incompatible/broken or not found magic installations. Current issues:

#137
#288
#225
#276
#248
#87
#139
#233
#73
#60
#34

This task is to document/implement a more reliable solution for windows.

@jspraul
Copy link

jspraul commented Sep 5, 2023

python-magic-bin v0.4.14 was published in 2017. vcpkg can build libmagic v5.40 (circa 2021) with some tweaks for Windows.

  • Download and install the Visual Studio 2017 Build Tools (link source)

    • On the left, select Windows > Visual C++ build tools
    • Then on the right, confirm Visual C++ tools for CMake is selected
      • (3.3GB+ download since Windows 10 SDK is a dependency 😢)

    image

  • Per https://github.com/microsoft/vcpkg#quick-start-windows:

    • git clone https://github.com/microsoft/vcpkg
    • .\vcpkg\bootstrap-vcpkg.bat
    • .\vcpkg\vcpkg install libmagic --triplet=x64-windows
  • Under .\vcpkg\packages\libmagic_x64-windows (don't use mine) you'll find:

    • tools\libmagic\bin\magic-1.dll
      • python-magic loads libmagic.dll, you'll need to rename to this
    • tools\libmagic\bin\tre.dll
    • tools\libmagic\share\misc\magic.mgc
  • Place these files in the current directory, on the path, or overwrite after pip puts python-magic-bin under \Lib\site-packages\magic\libmagic

    • (in the same directory as the script will only work if that is the current directory or on the path)

Related: hey-red/Mime#49 | https://github.com/hey-red/Libmagic-Build/tree/master/windows

Windows build is most problematic part of this

@ddelange ddelange linked a pull request Sep 6, 2023 that will close this issue
@ahupp
Copy link
Owner Author

ahupp commented Oct 10, 2023 via email

@martin-braun
Copy link

martin-braun commented Oct 29, 2024

On Windows #248 is still a problem and automatic monkey patching is not an option when using pipx, because the cache path (virtual environment path) is always random.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants