故障排除
本页介绍常见问题及其解决方案。
常见问题
格式功能的 ImportError
# 解决方案:安装行格式支持
pip install pyfory[format]
# 或从源码安装格式支持
pip install -e ".[format]"
序列化性能慢
# 检查是否启用了 Cython 加速
import pyfory
print(pyfory.ENABLE_FORY_CYTHON_SERIALIZATION) # 应该为 True
# 如果为 False,Cython 扩展可能未正确编译
# 重新安装:pip install --force-reinstall --no-cache-dir pyfory
跨语言兼容性问题
# 使用一致的命名进行显式类型注册
f = pyfory.Fory(xlang=True)
f.register(MyClass, typename="com.package.MyClass") # 在所有语言中使用相同的名称
循环引用错误或重复数据
# 启用引用跟踪
f = pyfory.Fory(ref=True) # 循环引用所需
# 循环引用示例
class Node:
def __init__(self, value):
self.value = value
self.next = None
node1 = Node(1)
node2 = Node(2)
node1.next = node2
node2.next = node1 # 循环引用
data = f.dumps(node1)
result = f.loads(data)
assert result.next.next is result # 循环引用被保留