Python错误:File 5.3仅支持版本7魔术文件

时间:2016-12-30 03:41:55

标签: python windows python-magic

我使用magic1.dll,regex2.dll和zlib1.dll文件安装了python-magic并正确导入但是当我尝试执行m = magic.Magic()时,我收到错误:Could not find any magic file。所以,我用谷歌搜索了一下,找到了一个回答here给了我另一个错误:File 5.3 supports only version 7 magic file. "magic.mgc" is version 12.

我可以获得魔法文件版本7吗?

1 个答案:

答案 0 :(得分:1)

我经常搜索这个问题的解决方案,但找不到。我有点玩魔法文件,突然间它起作用了。所以现在我将逐步解决像我这样的问题或类似于我的Windows和Linux用户的问题。

FOR WINDOWS:

第1步:从python lib文件夹中删除magic.pymagic.pyc文件。如果您下载了zlib1.dllmagic1.dllregex2.dllmagic.mgc,也会将其删除。

第2步:下载this zip file并解压缩。

注意: 此zip文件包含我们所需的全部内容:magic.pymagic.pycmagic.mgc,{ {1}},zlib1.dllmagic.dll

第3步:然后将regex2.dllmagic.py和DLL文件移动到python lib文件夹。

第4步:转到计算机属性>高级系统设置>环境变量,然后单击magic.pyc。在变量名称类型中:New...在另一个字段中输入magic文件的路径,然后按确定。

现在它应该工作:

magic.mgc

注意: 如果将程序编译为EXE,请确保DLL文件和>>> import magic >>> s = magic.Magic() >>> s.from_file("test.txt") 'ASCII text, with no line terminators' >>> 与EXE位于同一文件夹中程序正常工作。如果您不这样做,您将收到错误

FOR LINUX:

如果您是Linux用户且遇到魔法问题,请执行以下操作:

步骤1:在命令行中,键入magic.mgc进行安装或升级到最新版本的python-magic。如果出现sudo pip install python-magic错误,请在命令行中输入:

对于Python 2:

  

sudo apt-get remove python-pip&& sudo easy_install pip

对于Python 3:

  

sudo apt-get remove python3-pip&& sudo easy_install3 pip

这将以某种方式升级你的点子并删除错误。完成后,键入IncompleteRead以在pip升级后安装魔术。

然后它应该工作:

sudo pip install python-magic