You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用TonTools的client.init_tonlib()时遇TonLib属性缺失错误求助

解决方案:TonTools初始化时'tonlibjson.amd64.dll'缺失/依赖错误

核心问题分析

报错的'TonLib' object has no attribute '_tonlib_json_client_destroy'是次生错误,根源是tonlibjson.amd64.dll文件未找到或其依赖库不完整,导致TonTools无法完成底层TonLib的初始化,进而引发属性绑定失败。

具体解决步骤

  • 替换/补全tonlibjson.amd64.dll文件

    1. 前往Ton官方仓库下载对应Windows AMD64架构的预编译tonlibjson.amd64.dll(注意匹配你使用的TonTools版本,避免版本不兼容)
    2. 将文件替换到路径:D:\PycharmProjects\Dev_dir\ref_bot\.venv\Lib\site-packages\ton\distlib\windows\
    3. 确保文件权限正常,虚拟环境有读取权限
  • 修复OpenSSL依赖(关键)
    TonLib依赖的是OpenSSL 1.1.x系列,而非最新的3.x版本,即使你装了OpenSSL也可能版本不匹配:

    1. 下载OpenSSL 1.1.x Win64安装包(比如1.1.1w)
    2. 安装后找到libssl-1_1-x64.dll和libcrypto-1_1-x64.dll(通常在安装目录的bin文件夹)
    3. 把这两个DLL复制到tonlibjson.amd64.dll所在的文件夹,或者直接放到系统C:\Windows\System32目录
  • 重装TonTools并清理缓存
    可能安装过程中文件损坏,执行以下命令:

    pip uninstall tontools -y
    pip cache purge
    pip install tontools
    

    如果官方PyPI包有问题,尝试从源码安装:

    pip install git+https://github.com/toncenter/tontools.git
    
  • 检查虚拟环境权限与PATH

    1. 确保你的PyCharm虚拟环境有读写权限,避免安装时文件未正确写入
    2. 临时将tonlibjson.amd64.dll所在路径加入系统PATH(重启PyCharm生效)

内容的提问来源于stack exchange,提问作者Yooshyasha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:12:14