尽管遵循了该模块的自述文件,但我继续收到“找不到魔法文件”。自述文件和“依赖项”部分说:
在 Windows 上,从 File for Windows 项目提供的 Binaries and Dependencies zip 文件将 magic1.dll、regex2.dll 和 zlib1.dll 复制到您的 PATH 中。您需要从 [binary-zip]\share\misc 中复制文件魔法,并将其位置传递给 Magic(magic_file=...) 如果您使用的是 64 位版本的 python,则需要 64 -bit libmagic 二进制文件,可在此处找到:https ://github.com/pidydx/libmagicwin64 (注意:未经测试)。
以下说明会有所帮助:
1) 提供的Files for Windows链接有一个指向“file-5.03-bin.zip”的链接(标记为“Binaries”)、一个指向“file-5.03-dep.zip”的链接(标记为“Dependencies”)和一个链接在“file-4.26-dep.zip”的右下角,它也被标记为“依赖文件”。我假设最后一个是一个错误,它应该指向 5.03-dep,而不是另一个需要的第二个依赖文件。正确的?
2) 似乎有 32 位版本和64 位版本的依赖文件。我不知道在 64 位 Windows 上使用哪个版本,但在 32 位 Python 上使用。上面的说明说的是 64 位 Python,但这说的是 64 位 Windows。 我应该安装哪个?
3)上面说将DLL放在PATH中;64 位指令说将它们放在 C:\Windows\System32 中。只要文件夹是PATH,这有关系吗?(其他人建议特别不将它们放在 \Windows\System32 帮助:Python-magic 安装错误 - ImportError: failed to find libmagic)。
4)以上表明,除了 3 个 DLL 之外,二进制文件和依赖项中唯一需要的其他文件是文件magic
. 所以我也不需要文件magic.mgc
,它也在二进制 zip\share\misc 中?我也不需要这两个 ZIP 中的任何其他文件,比如文件file
?
5) 上述建议magic
从二进制 ZIP 中获取文件并将其路径放在一行代码中:Magic(magic_file=...)
. 我认为这实际上是magic.Magic(magic_file='C:\path\goes\here\magic')
并且我认为这可以在文件系统中的任何位置进行。
6)..我再次假设我指向的是文件magic
而不是文件magic.mgc
。
这些假设是否正确?