运行32位python 2.7版本的64位Windows 10的python magic安装挑战

运行32位python 2.7版本的64位Windows 10的python magic安装挑战,windows,python-2.7,dll,python-magic,libmagic,Windows,Python 2.7,Dll,Python Magic,Libmagic,尽管遵循了模块的自述,但我仍然得到“未找到魔法文件”。自述并说: 在Windows上,将magic1.dll、regex2.dll和zlib1.dll从Windows项目文件提供的二进制文件和依赖项zip文件复制到您的路径上。您需要将文件magic从[binary zip]\share\misc中复制出来,并将其位置传递给magic(magic_file=…)。如果您使用的是64位python构建,则需要64位libmagic二进制文件,可在此处找到:(注:未测试) 以下澄清将有所帮助: 1)

尽管遵循了模块的自述,但我仍然得到“未找到魔法文件”。自述并说:

在Windows上,将magic1.dll、regex2.dll和zlib1.dll从Windows项目文件提供的二进制文件和依赖项zip文件复制到您的路径上。您需要将文件magic从[binary zip]\share\misc中复制出来,并将其位置传递给magic(magic_file=…)。如果您使用的是64位python构建,则需要64位libmagic二进制文件,可在此处找到:(注:未测试)

以下澄清将有所帮助:

1) 提供的链接有一个指向“file-5.03-bin.zip”(标记为“二进制文件”)的链接,一个指向“file-5.03-dep.zip”(标记为“依赖项”)的链接,以及右下角指向“file-4.26-dep.zip”的链接,该链接也标记为“依赖项文件”。我假设最后一个是错误,它应该指向5.03-dep,而不是另一个需要的依赖项文件。对吗

2) 似乎有一个32位版本和一个。我不知道64位Windows使用哪个版本,但32位Python使用哪个版本。上面的说明是64位Python,但是我应该安装哪一个

3) 上面说把DLL放在路径中;64位指令要求将它们放在C:\Windows\System32中。这有关系吗,只要文件夹的路径是d?(其他人建议特别不要将它们放在\Windows\System32中有帮助:)

4) 上述情况表明,除了3个DLL之外,二进制文件和依赖项中唯一需要的其他文件是文件
magic
。所以我不需要文件
magic.mgc
,它也在二进制zip\share\misc中?我也不需要这两个zip中的任何其他文件,比如file
file

5) 上面建议将文件
magic
从二进制ZIP中取出,并将其路径放在一行代码中,上面写着:
magic(magic\u file=…)
。我假设这实际上是
magic.magic(magic\u file='C:\path\goes\here\magic')
,并且我假设这可以在文件系统中的任何地方

6) 。。我再次假设,我指向的是文件
magic
,而不是文件
magic.mgc

这些假设正确吗?是的,我想你应该下载5.03。不是4.26

2) 如果您有32位python,那么下载32位的东西

3) 只要DLL在系统路径变量中,就可以了

4) 对。我认为你是对的

5) 我认为这是真的


6) 它们是完全不同的文件。magic似乎是正确的,因为它似乎包含了有关magic应该做什么的设置和信息。

我发现我遗漏了什么。我会把它贴在这里,以防其他人发疯

pip install python-libmagic

pip install python-magic-bin

Install Visual C (VCforPython.msi from [Microsoft website][1])

谢谢你的回答。我已经相应地设置了所有设置,但仍然无法使其工作。错误#1:需要为Python安装C(我已经安装了)。然后,错误#2:“无法找到魔法库”。pip安装的库包括:filemagic(1.6)、file magic(0.3.0)、libmagic(1.0)、Python magic(0.4.12)、libarchive-C(2.7)。一如既往,关于堆栈溢出和可疑命令的评分最低的注释是正确的。做得好。对于任何阅读这篇文章的人来说,这是正确的答案。