尽管遵循模块的自述文件,但我仍然得到“找不到魔法文件”。自述和"Dependencies" section说:针对运行32位Python的64位Windows 10的python-magic安装挑战Python 2.7 build
在Windows,复制magic1.dll,regex2.dll和zlib1.dll到您的PATH从二进制文件和压缩依赖通过文件的Windows项目提供了文件。你需要从[binary-zip] \ share \ misc复制文件魔法,并将它的位置传递给Magic(magic_file = ...)如果你使用的是64位版本的python,你需要64位libmagic二进制文件可以在这里找到:https://github.com/pidydx/libmagicwin64(注:未经测试)。
以下澄清将是有益的:
1)所提供的Files for Windows链路有一个链接到 “file-5.03-bin.zip”(标记为 “二进制文件”),链接到“文件-5.03 -dep.zip“(标记为”Dependencies“),以及右下角的”file-4.26-dep.zip“链接,该链接也被标记为”依赖文件“。我假设最后一个是错误,应该指向5.03-dep,而不是另一个需要的第二个依赖关系文件。正确?
2)似乎是一个32位的版本和一个64 bit version of the dependencies files。我不知道哪个版本适用于64位Windows,但是使用32位Python。上面的说明说64位的Python,但this says 64 bit Windows.我应该安装哪个?
3)在上述表示把在路径中的DLL; 64位指令说将它们放在C:\ Windows \ System32中。它是否重要,只要该文件夹是PATH'd? (其他人建议,特别是不要将它们放在\ Windows \ System32帮助:Python-magic installation error - 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
。
这些假设是否正确?
感谢您的回答。我相应地设置了所有设置,但仍无法使其工作。 – Suzanne
你的错误信息是什么? – Leonid
错误#1:(这是我做的)需要安装下然后Python,错误#2:“无法找到神奇的图书馆。” PIP安装库包括:filemagic(1.6),filemagic(0.3.0),libmagic(1.0),蟒魔法(0.4.12),libarchive-C(2.7)。 – Suzanne