Python错误:文件5.3只支持版本7魔术文件
我用magic1.dll,regex2.dll和zlib1.dll文件安装了python-magic,并且它正确导入,但是当我尝试做例如m = magic.Magic()
时出现错误:Could not find any magic file
。所以,我google了一下,发现一个答案here,给了我另一个错误:File 5.3 supports only version 7 magic file. "magic.mgc" is version 12.
Python错误:文件5.3只支持版本7魔术文件
我可以得到一个神奇的文件版本7?
我搜索了很多这个问题的解决方案,但找不到。我有点玩魔术文件,并突然发挥作用。因此,现在我将逐步编写解决Windows和Linux用户等我的问题或类似问题。
对于Windows:
第1步:从Python的lib文件夹中删除magic.py
和magic.pyc
文件。如果您下载了zlib1.dll
,magic1.dll
,regex2.dll
和magic.mgc
,还要删除它们。
第2步:下载this zip file并提取它。
注:这个zip文件包含了所有我们需要的:magic.py
,magic.pyc
,magic.mgc
,zlib1.dll
,magic.dll
和regex2.dll
。
第3步:然后移动magic.py
,magic.pyc
和DLL文件到蟒蛇lib文件夹。
步骤4:转到计算机属性>高级系统设置>环境变量,然后单击New...
。在变量名称中输入:magic
并在其他字段中输入magic.mgc
文件的路径,然后按确定。
现在它应该工作:
>>> import magic
>>> s = magic.Magic()
>>> s.from_file("test.txt")
'ASCII text, with no line terminators'
>>>
注:如果您编译程序的EXE,确保该DLL文件,并magic.mgc
是在同一文件夹作为EXE程序正常工作。如果你不这样做,你会得到错误
FOR LINUX:如果你是一个Linux用户
,你有魔法的问题,这里有您需要做什么:
第1步:在您的命令行中输入sudo pip install python-magic
来安装或升级到最新版本的python-magic。如果你有IncompleteRead
错误,那么你的命令行输入:
对于Python 2:
sudo易于得到删除蟒蛇点子& &须藤的easy_install点子
对于Python 3 :
sudo apt-get remove python3-pip & & sudo easy_i nstall3点
这将以某种方式升级您的点和删除错误。完成后,在pip升级后键入sudo pip install python-magic
以安装魔术。
那么它应该工作:
>>> import magic
>>> s = magic.Magic()
>>> s.from_file("test.txt")
'ASCII text, with no line terminators'
>>>
我做什么都ü在帖子中提到的还是我得到这个error'magic.MagicException:文件5.20仅支持12个魔法文件。 'C:\ Python27 \ Lib \ magic.mgc'是版本7'。我在Windows 10 64位虚拟框中使用python2.7,12。尽快帮我.. !! – shiva