How to fix Python ValueError:bad marshal data?

后端 未结 7 2417
梦毁少年i
梦毁少年i 2020-12-01 06:20

Running flexget Python script in Ubuntu, I get an error:

$ flexget series forget \"Orange is the new black\" s03e01
Traceback (most recent call last):
File \         


        
相关标签:
7条回答
  • 2020-12-01 06:35

    I also got this problem in Windows environment(win 10).

    I fixed it by going to the Settings and repairing Python 3.7 with its installer. Everything works fine since then.

    As far as I could recall, I had kept a dash server running when my computer went to hibernation. Maybe the damage was done in the hibernating process somehow.

    0 讨论(0)
  • 2020-12-01 06:41

    I resolved a similar error by un-installing and re-installing the Python application I was using, and all dependencies, using the system package manager.

    In my case I was using awscli on Debian 9 and the error was "ValueError: bad marshal data (set size out of range)".

    I ran as root:

    apt-get purge awscli
    apt-get autoremove
    apt-get install awscli
    

    And then the error was fixed.

    I could imagine cases where the broken package might not get removed (for example because it was marked as manually installed, or was a dependency of another application still installed), in those cases this action may not resolve the error. However I thought I should try this way before manually deleting .pyc files the system installed, and I got lucky.

    0 讨论(0)
  • 2020-12-01 06:43

    There also appears to have been some sort of regression in setuptools with use with python 3.7. See for an example - https://github.com/pypa/setuptools/issues/1257

    Forcing reinstallation of setuptools fixed this issue for me.

    sudo pip3 install --upgrade --force-reinstall setuptools
    
    0 讨论(0)
  • 2020-12-01 06:45

    If you get that error, the compiled version of the Python module (the .pyc file) is corrupt probably. Gentoo Linux provides python-updater, but in Debian the easier way to fix: just delete the .pyc file. If you don't know the pyc, just delete all of them (as root):

    find /usr -name '*.pyc' -delete
    
    0 讨论(0)
  • 2020-12-01 06:46

    I solved this problem by the following procedure :

    In the error code message, you can see from sqlalchemy.ext.declarative import declarative_base cause this error.

    So just pip uninstall sqlalchemy and pip install sqlalchemy, problem solved.

    0 讨论(0)
  • 2020-12-01 06:50

    Just delete

    /usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/properties.pyc
    

    it is corrupt as the text indicates. You'll probably have to do so as root.

    After that start (again as root) run python (2.7):

    /usr/bin/python -c "import sqlalchemy.orm.properties"
    

    to recreate this .pyc file.

    If you don't recreate the .pyc file, your program starts slower than necessary as the .py file takes longer to load than the .pyc (and a normal user cannot write the .pyc file).

    0 讨论(0)
提交回复
热议问题