Faltan archivos para la librería `magic` en Windows

Necesito obtener el tipo mime para algunos archivos en Windows, así que instalé python-magic (en python 2.7.3 de 32 bits).
Depende de la biblioteca magic Unix.
El autor da instrucciones para obtener regex2.dll , zlib1.dll y magic1.dll del proyecto gnuwin32. Así que guardé los archivos en una carpeta y agregué la carpeta a mi sistema PATH .
Ahora cuando ejecuto métodos magic , me falta una excepción de archivo:

 import magic print(magic.Magic()) Traceback (most recent call last): File "C:/Users/Admin/PycharmProjects/lex/lex.py", line 367, in  test_magic() File "C:/Users/Admin/PycharmProjects/lex/lex.py", line 364, in test_magic print(magic.Magic()) File "C:\Python27\lib\site-packages\python_magic-0.4.3-py2.7.egg\magic.py", line 52, in __init__ magic_load(self.cookie, magic_file) File "C:\Python27\lib\site-packages\python_magic-0.4.3-py2.7.egg\magic.py", line 188, in magic_load return _magic_load(cookie, coerce_filename(filename)) File "C:\Python27\lib\site-packages\python_magic-0.4.3-py2.7.egg\magic.py", line 139, in errorcheck raise MagicException(err) magic.MagicException: could not find any magic files! 

Los archivos DLL están en el PATH, probé la depuración y magic1.dll se encuentra correctamente, pero en algún lugar dentro de la biblioteca se produce una excepción.
Dentro del paquete gnuwin32 he encontrado magic y magic.mgc . Los coloqué en la misma carpeta y obtuve WindowsError: [Error 126] en

 libmagic = None # Let's try to find magic or magic1 dll = ctypes.util.find_library('magic') or ctypes.util.find_library('magic1') # This is necessary because find_library returns None if it doesn't find the library if dll: libmagic = ctypes.CDLL(dll) 

Esto obviamente sucede porque Python intenta abrir el archivo magic como dll, que es texto sin formato. Después de agregar .dll a los nombres de archivo en el código, obtengo la misma magic.MagicException: could not find any magic files! .
¿Qué archivos me faltan?

ACTUALIZAR:

 C:\Users\Admin>file C:\123.zip -m magic file: could not find any magic files! C:\Users\Admin>file C:\123.zip -m "C:\@DEV\@LIB\@Magic\GetGnuWin32\bin\magic" C:\123.zip; ASCII text, with no line terminators C:\Users\Admin>cd C:\@DEV\@LIB\@Magic\GetGnuWin32\bin C:\@DEV\@LIB\@Magic\GetGnuWin32\bin>file C:\123.zip -m magic C:\123.zip; ASCII text, with no line terminators 

ACTUALIZACIÓN 2 (RESUELTOS):

 print(magic.Magic()) magic.MagicException: could not find any magic files! print(magic.Magic(magic_file = 'magic'))  

sólo tenía que especificar el archivo explícitamente

Para futuros visitantes de Google: otra solución es configurar la variable de entorno% MAGIC% en la configuración de sistemas para que apunte al archivo mágico, para mí fue:

 "c:\Program Files (x86)\GnuWin32\share\misc\magic" 

¡No es necesario codificar la ruta en tu progtwig!

La ruta al archivo magic se debe pasar explícitamente al constructor.

 magic_object = magic.Magic(magic_file = 'path_to_magic_files/magic')) 

Como los problemas de python-magic parecen ser bastante comunes, aquí hay una solución de trabajo para los futuros googlers: después de probar la mayoría de las soluciones sin alterar el código fuente, encontré lo siguiente para hacer que Python-Magic funcione de manera inmediata:

  1. Instale el archivo GnuWin32 primero
  2. Establezca la variable de entorno MAGIC = ruta \ a \ gnuwin32 \ share \ misc \ magic
  3. Asegurar que todos los archivos ejecutables / bibliotecas instalados sean accesibles a través del PATH
  4. Instala python-magic a través de pip