Exception Value: Failed to Find Libmagic. Check Your Installation in Windows 7
When I Am Trying to Open Django Admin Panel This Error Is Showing: Importerror at /Admin/ Failed to Find Libmagic. Check Your Installation Request Method: Get...
When I am trying to open django admin panel this error is showing:
ImportError at /admin/
failed to find libmagic. Check your installation
Request Method: GET
Request URL: Django Version: 1.5.1
Exception Type: ImportError
Exception Value: failed to find libmagic. Check your installation
Exception Location: C:\Python27\lib\site-packages\magic.py in <module>, line 131
Python Executable: C:\Python27\python.exe
Python Version: 2.7.2
Python Path:
['C:\\Users\\farhan\\Downloads\\dist\\Django-1.5.1\\django\\bin\\mysite',
'C:\\Python27\\lib\\site-packages\\distribute-0.6.49-py2.7.egg',
'C:\\Windows\\system32\\python27.zip',
'C:\\Python27\\DLLs',
'C:\\Python27\\lib',
'C:\\Python27\\lib\\plat-win',
'C:\\Python27\\lib\\lib-tk',
'C:\\Python27',
'C:\\Python27\\lib\\site-packages',
'C:\\Python27\\lib\\site-packages\\setuptools-0.6c11-py2.7.egg-info']
Server time: Thu, 22 Aug 2013 13:19:01 +0600
8 Answers
Go here and then:
For Windoes 32bit, download the file "python_magic_bin-0.4.14-py2.py3-none-win32.whl" and run
pip install python_magic_bin-0.4.14-py2.py3-none-win32.whl
For Windows 64bit, download "python_magic_bin-0.4.14-py2.py3-none-win_amd64.whl" and run
pip install python_magic_bin-0.4.14-py2.py3-none-win_amd64.whl
now python-magic works
EDIT: As suggested in the comments, this also works:
pip install python-magic-bin==0.4.14
Your multiuploader form uses python-magic library possibly for filetype identification. However you probably do not have all the missing dependencies installed. Please install the missing dependencies.
As per the documentation () you have to install libmagic.
For Windows OS, you can do it by run the bellow command:
pip install python-magic-bin
And for Ubuntu based OS, you have to it by the bellow command:
sudo apt-get install libmagic1
From, your exception it is easy to say that, you are using Windows OS, so you have install it by the first command.
As per the documentation the current version of python-magic is 0.4.15
You can install the latest released version of python-magic through:
pip install python-magicThis will install python-magic-0.4.15 as follows:
C:\Users\username>pip install python-magic Collecting python-magic Using cached Installing collected packages: python-magic Successfully installed python-magic-0.4.15In the (Windows) documentation it is mentioned:
You'll need DLLs for libmagic. @julian-r has uploaded a version of this project that includes binaries to pypi:
You can install the python-magic-bin 0.4.14 through:
pip install python-magic-bin==0.4.14This will install python-magic-bin 0.4.14 as follows:
C:\Users\username>pip install python-magic-bin==0.4.14 Collecting python-magic-bin==0.4.14 Downloading /python_magic_bin-0.4.14-py2.py3-none-win32.whl (397kB) 100% |¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦| 399kB 473kB/s Installing collected packages: python-magic-bin Successfully installed python-magic-bin-0.4.14Sample Code:
import magic print(magic.from_file("C:/Users/username/Desktop/StackOverflow/Google_Gmail.png"))Console Output:
PNG image data, 1366 x 768, 8-bit/color RGB, non-interlaced
Install cygwin. Then move 'C:\cygwin64\bin\cygmagic-1.dll' to 'C:\Windows\System32\magic1.dll'.
- Download cygwin. The version of cygwin must as same as python.(exp: Although your OS is Win7 x64, you still should download 32 bit cygwin because your python is 32 bit). link:
- Install cygwin.
- Enter the path of cygwin and copy to C:\Windows\SysWOW64.
I was going carzy with this issue. But finally got a solution to it
Steps
- Uninstall all magic libraries from you system (as you may have tried installing tons of garbage by this time)
- Make sure you are running a python 64 bit version
- Install
pip install python-magic-win64==0.4.13 - very important step, change your import statement to
from winmagic import magic
Enjoy !!!
If your target platform supports the file command with certain extensions (available on macOS, *BSD and most Linux variants), you can use the following wrapper that does not require libmagic nor other dependencies:
import contextlib
import subprocess
def file_proc():
args = [
'/usr/bin/file',
'--brief',
'-E',
'--no-dereference',
'--no-buffer',
'--preserve-date',
'-00',
'--mime-type',
'--files-from', '-'
]
with contextlib.ExitStack() as stack:
proc = subprocess.Popen(args, bufsize=0, stdin=subprocess.PIPE, stdout=subprocess.PIPE, preexec_fn=None, text=True)
stack.callback(proc.kill)
while True:
file_path = yield
proc.stdin.write(file_path + '\n')
proc.stdin.flush()
file_type = ''
while (c := proc.stdout.read(1)) != '\0':
file_type += c
yield file_type.splitlines()[0]
@contextlib.contextmanager
def file_typer():
proc = file_proc()
proc.send(None)
def getter(path):
posix_type = proc.send(path.as_posix())
proc.send(None)
return posix_type
with contextlib.closing(proc):
yield getter
with file_typer() as typer:
typer('/usr/bin/python')
See the GitHub enter link description heregist for the most up-to-date version of this script.