Python Error : File 5.3 supports only version 7 magic file
Python Error : File 5.3 supports only version 7 magic file
我用 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 吗?
我搜索了很多关于这个问题的解决方案,但没有找到。我正在玩魔术文件,突然间它起作用了。所以现在我将逐步写一个步骤来解决 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
.
第三步:然后将magic.py
、magic.pyc
和DLL文件移动到pythonlib文件夹。
步骤 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 程序位于同一文件夹中才能正常工作。如果你不这样做,你会得到错误
对于 LINUX:
如果您是 Linux 用户并且在使用魔法时遇到问题,那么您必须执行以下操作:
第 1 步: 在您的命令行中,键入 sudo pip install python-magic
以安装或升级到最新版本的 python-magic。如果出现 IncompleteRead
错误,请在命令行中输入:
对于Python 2:
sudo apt-get remove python-pip && sudo easy_install pip
对于Python 3:
sudo apt-get remove python3-pip && sudo easy_install3 pip
这将以某种方式升级您的 pip 并消除错误。完成后,键入 sudo pip install python-magic
以在 pip 升级后安装 magic。
那么它应该工作:
>>> import magic
>>> s = magic.Magic()
>>> s.from_file("test.txt")
'ASCII text, with no line terminators'
>>>
我用 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 吗?
我搜索了很多关于这个问题的解决方案,但没有找到。我正在玩魔术文件,突然间它起作用了。所以现在我将逐步写一个步骤来解决 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
.
第三步:然后将magic.py
、magic.pyc
和DLL文件移动到pythonlib文件夹。
步骤 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 程序位于同一文件夹中才能正常工作。如果你不这样做,你会得到错误
对于 LINUX:
如果您是 Linux 用户并且在使用魔法时遇到问题,那么您必须执行以下操作:
第 1 步: 在您的命令行中,键入 sudo pip install python-magic
以安装或升级到最新版本的 python-magic。如果出现 IncompleteRead
错误,请在命令行中输入:
对于Python 2:
sudo apt-get remove python-pip && sudo easy_install pip
对于Python 3:
sudo apt-get remove python3-pip && sudo easy_install3 pip
这将以某种方式升级您的 pip 并消除错误。完成后,键入 sudo pip install python-magic
以在 pip 升级后安装 magic。
那么它应该工作:
>>> import magic
>>> s = magic.Magic()
>>> s.from_file("test.txt")
'ASCII text, with no line terminators'
>>>