Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Binary distribution for libmagic on Windows #293

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.

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

Successfully merging a pull request may close this issue.

3 participants