在Ubuntu中运行flexget Python脚本,我得到一个错误:
$ flexget series forget "Orange is the new black" s03e01
Traceback (most recent call last):
File "/usr/local/bin/flexget", line 7, in <module>
from flexget import main
File "/usr/local/lib/python2.7/dist-packages/flexget/__init__.py", line 11, in <module>
from flexget.manager import Manager
File "/usr/local/lib/python2.7/dist-packages/flexget/manager.py", line 21, in <module>
from sqlalchemy.ext.declarative import declarative_base
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/declarative/__init__.py", line 8, in <module>
from .api import declarative_base, synonym_for, comparable_using, \
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/declarative/api.py", line 11, in <module>
from ...orm import synonym as _orm_synonym, \
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/__init__.py", line 17, in <module>
from .mapper import (
File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/mapper.py", line 27, in <module>
from . import properties
ValueError: bad marshal data (unknown type code)
发布于 2015-06-16 02:54:49
如果收到该错误,则Python模块的编译版本( .pyc文件)可能已损坏。Gentoo Linux提供了python-updater
,但在Debian中有一种更简单的修复方法:删除.pyc文件。如果您不知道pyc,只需将它们全部删除(以root身份):
find /usr -name '*.pyc' -delete
发布于 2019-03-15 00:42:21
在使用python3.7的setuptools中似乎也出现了某种回归。有关示例,请参阅- https://github.com/pypa/setuptools/issues/1257
强制重新安装setuptools解决了这个问题。
sudo pip3 install --upgrade --force-reinstall setuptools
发布于 2015-06-16 11:31:53
只需删除
/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/properties.pyc
正如文本所示,它已损坏。您可能必须以root
的身份执行此操作。
在启动之后(同样是以root用户身份)运行python (2.7):
/usr/bin/python -c "import sqlalchemy.orm.properties"
重新创建此.pyc
文件。
如果不重新创建.pyc
文件,程序的启动速度会比必要的慢,因为.py
文件的加载时间比.pyc
长(并且普通用户无法写入.pyc
文件)。
https://stackoverflow.com/questions/30861493
复制相似问题