【问题标题】:Python Error : File 5.3 supports only version 7 magic filePython 错误:文件 5.3 仅支持版本 7 魔术文件
【发布时间】:2017-05-14 09:43:50
【问题描述】:

我安装了带有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 吗?

【问题讨论】:

    标签: python windows python-magic


    【解决方案1】:

    我搜索了很多解决此问题的方法,但找不到。我有点玩魔术文件,突然它起作用了。所以现在我将一步一步地为 Windows 和 Linux 用户解决类似我的或类似我的问题。

    对于 WINDOWS:

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

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

    注意: 这个 zip 文件包含我们需要的所有内容:magic.pymagic.pycmagic.mgczlib1.dllmagic.dllregex2.dll

    第 3 步: 然后将 magic.pymagic.pyc 和 DLL 文件移动到 python 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 程序位于同一文件夹中好好工作。如果你不这样做,你会得到错误


    对于 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'
    >>> 
    

    【讨论】:

    • 我做了你在帖子中提到的事情,但我仍然收到此错误magic.MagicException: File 5.20 supports only version 12 magic files. C:\Python27\Lib\magic.mgc' is version 7`。我在 Windows 10 64 位虚拟框中使用 python2.7,12。尽快帮助我..!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-01
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 2019-07-03
    相关资源
    最近更新 更多