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

Suz*_*nne 9 windows dll python-2.7 libmagic python-magic

尽管遵循了该模块的自述文件,我仍然得到"未找到魔法文件".自述文件和"依赖关系"部分说:

在Windows上,将magic1.dll,regex2.dll和zlib1.dll从File for Windows项目提供的Binaries and Dependencies zip文件复制到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:找不到libmagic).

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

5)上述建议得到文件magic出了二进制压缩,并把它的路径在一行代码它说:Magic(magic_file=...).我认为这实际上是magic.Magic(magic_file='C:\path\goes\here\magic')和我认为这可以在文件系统中的任何地方.

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

这些假设是否正确?

Suz*_*nne 7

我想通了我错过了什么。我会把它贴在这里以防其他人发疯。

pip install python-libmagic

pip install python-magic-bin

Install Visual C (VCforPython.msi from [Microsoft website][1])
Run Code Online (Sandbox Code Playgroud)


Leo*_*nid 1

1) 是的,我认为你应该下载5.03。不是 4.26。

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

3) 只要 dll 在系统 PATH 变量中就可以了。

4)是的。我想你是对的。

5)我认为这是真的。

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