2017-06-11 4 views
1

私はpythonで初心者です。私は魔法のライブラリを使用したので、ファイルの種類を検出する必要があるプロジェクトに取り組んでいます。しかし、コードは動作しておらず、例外が発生しています。 テストコードは次のとおりです。Magic Pythonが動作しない

import magic 
magic.from_file("./example.db") 

トレースバック:

Traceback (most recent call last): 
- File "C:\Users\mariam\Desktop\pythonscripto\test.py", line 4, in <module> 
    magic.from_file("./example.db") 
- File "C:\Users\mariam\Desktop\pythonscripto\magic.py", line 122, in from_file 
    m = _get_magic_type(mime) 
- File "C:\Users\mariam\Desktop\pythonscripto\magic.py", line 111, in _get_magic_type 
    i = _instances[mime] = Magic(mime=mime) 
- File "C:\Users\mariam\Desktop\pythonscripto\magic.py", line 60, in \__init__ 
    magic_load(self.cookie, magic_file) 
- File "C:\Users\mariam\Desktop\pythonscripto\magic.py", line 250, in magic_load 
    return _magic_load(cookie, coerce_filename(filename)) 
- File "C:\Users\mariam\Desktop\pythonscripto\magic.py", line 181, in errorcheck_negative_one 
    raise MagicException(err) 
magic.MagicException: None 

任意のヘルプ?

+0

https://github.com/ahupp/python-magicでWindowsの依存関係の手順に従ったことがありますか? –

+0

@SimonFraserはい、または少なくとも私はそう思います。しかし、私は64ビットの依存関係を使い、テストされていないと言っていました。私はこれが問題の原因だと恐れています! –

+0

私はそれを自分で使っていないので、わかりません - 明らかなオプションがカバーされていることを確認したかっただけです! –

答えて

1

私は、あなたのPythonのバージョンことが64ビットであるだけでなく、ファイルの依存関係、あなたが同じフォルダに以下のファイルを含める必要がありますことを確認し、この問題を解決:

  • regex2.dll
  • zlib1 .dllは
  • マジック(拡張子なし)
  • magic.mgc
  • libgnurx-0.dll
  • magic.py