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

Pydroid3安装tronpy失败:编译cytoolz提示Python.h不存在

在Pydroid 3中安装tronpy失败的解决办法

问题描述

执行pip3 install tronpy时,编译依赖包cytoolz的wheel阶段报错,核心错误为:

fatal error: Python.h: No such file or directory

完整安装及错误日志如下:

/storage/emulated/0 $ pip3 install tronpy
Collecting tronpy
  Using cached tronpy-0.2.6-py3-none-any.whl (34 kB)
Collecting base58<3.0.0,>=2.0.0
  Using cached base58-2.1.1-py3-none-any.whl (5.6 kB)
Collecting pycryptodome<4.0.0,>=3.9.7
  Using cached pycryptodome-3.15.0-cp35-abi3-linux_aarch64.whl
Collecting ecdsa<0.16,>=0.15
  Using cached ecdsa-0.15-py2.py3-none-any.whl (100 kB)
Collecting httpx<0.17.0,>=0.16.1
  Using cached httpx-0.16.1-py3-none-any.whl (65 kB)
Requirement already satisfied: requests<3.0.0,>=2.23.0 in /data/data/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages (from tronpy) (2.28.1)
Collecting eth_abi<3.0.0,>=2.1.1
  Using cached eth_abi-2.2.0-py3-none-any.whl (28 kB)
Requirement already satisfied: six>=1.9.0 in /data/data/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages (from ecdsa<0.16,>=0.15->tronpy) (1.16.0)
Collecting eth-typing<3.0.0,>=2.0.0
  Using cached eth_typing-2.3.0-py3-none-any.whl (6.2 kB)
Collecting eth-utils<2.0.0,>=1.2.0
  Using cached eth_utils-1.10.0-py3-none-any.whl (24 kB)
Collecting parsimonious<0.9.0,>=0.8.0
  Using cached parsimonious-0.8.1-py3-none-any.whl
Requirement already satisfied: certifi in /data/data/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages (from httpx<0.17.0,>=0.16.1->tronpy) (2022.9.24)
Collecting sniffio
  Using cached sniffio-1.3.0-py3-none-any.whl (10 kB)
Collecting httpcore==0.12.*
  Using cached httpcore-0.12.3-py3-none-any.whl (55 kB)
Collecting rfc3986[idna2008]<2,>=1.3
  Using cached rfc3986-1.5.0-py2.py3-none-any.whl (31 kB)
Collecting h11==0.*
  Using cached h11-0.14.0-py3-none-any.whl (58 kB)
Requirement already satisfied: charset-normalizer<3,>=2 in /data/data/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages (from requests<3.0.0,>=2.23.0->tronpy) (2.1.1)
Requirement already satisfied: idna<4,>=2.5 in /data/data/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages (from requests<3.0.0,>=2.23.0->tronpy) (3.4)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /data/data/ru.iiec.pydroid3/files/aarch64-linux-android/lib/python3.9/site-packages (from requests<3.0.0,>=2.23.0->tronpy) (1.26.12)
Collecting eth-hash<0.4.0,>=0.3.1
  Using cached eth_hash-0.3.3-py3-none-any.whl (8.9 kB)
Collecting cytoolz<1.0.0,>=0.10.1
  Using cached cytoolz-0.12.0.tar.gz (502 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting toolz>=0.8.0
  Using cached toolz-0.12.0-py3-none-any.whl (55 kB)
Building wheels for collected packages: cytoolz
  Building wheel for cytoolz (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for cytoolz (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [62 lines of output]
      [1/5] Cythonizing cytoolz/utils.pyx
      [2/5] Cythonizing cytoolz/dicttoolz.pyx
      [3/5] Cythonizing cytoolz/functoolz.pyx
      [4/5] Cythonizing cytoolz/itertoolz.pyx
      [5/5] Cythonizing cytoolz/recipes.pyx
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-aarch64-cpython-39
      creating build/lib.linux-aarch64-cpython-39/cytoolz
      copying cytoolz/__init__.py -> build/lib.linux-aarch64-cpython-39/cytoolz
      copying cytoolz/_signatures.py -> build/lib.linux-aarch64-cpython-39/cytoolz
      copying cytoolz/_version.py -> build/lib.linux-aarch64-cpython-39/cytoolz
      copying cytoolz/compatibility.py -> build/lib.linux-aarch64-cpython-39/cytoolz
      creating build/lib.linux-aarch64-cpython-39/cytoolz/curried
      copying cytoolz/curried/__init__.py -> build/lib.linux-aarch64-cpython-39/cytoolz/curried
      copying cytoolz/curried/exceptions.py -> build/lib.linux-aarch64-cpython-39/cytoolz/curried
      copying cytoolz/curried/operator.py -> build/lib.linux-aarch64-cpython-39/cytoolz/curried
      copying cytoolz/dicttoolz.pyx -> build/lib.linux-aarch64-cpython-39/cytoolz
      copying cytoolz/functoolz.pyx -> build/lib.linux-aarch64-cpython-39/cytoolz
      copying cytoolz/itertoolz.pyx -> build/lib.linux-aarch64-cpython-39/cytoolz
      copying cytoolz/recipes.pyx -> build/lib.linux-aarch64-cpython-39/cytoolz
      copying cytoolz/utils.pyx -> build/lib.linux-aarch64-cpython-39/cytoolz
      copying cytoolz/__init__.pxd -> build/lib.linux-aarch64-cpython-39/cytoolz
      copying cytoolz/cpython.pxd -> build/lib.linux-aarch64-cpython-39/cytoolz
      copying cytoolz/dicttoolz.pxd -> build/lib.linux-aarch64-cpython-39/cytoolz
      copying cytoolz/functoolz.pxd -> build/lib.linux-aarch64-cpython-39/cytoolz
      copying cytoolz/itertoolz.pxd -> build/lib.linux-aarch64-cpython-39/cytoolz
      copying cytoolz/recipes.pxd -> build/lib.linux-aarch64-cpython-39/cytoolz
      copying cytoolz/utils.pxd -> build/lib.linux-aarch64-cpython-39/cytoolz
      creating build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/dev_skip_test.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/test_compatibility.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/test_curried.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/test_curried_toolzlike.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/test_dev_skip_test.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/test_dicttoolz.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/test_docstrings.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/test_doctests.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/test_embedded_sigs.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/test_functoolz.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/test_inspect_args.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/test_itertoolz.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/test_none_safe.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/test_recipes.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/test_serialization.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/test_signatures.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/test_tlz.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      copying cytoolz/tests/test_utils.py -> build/lib.linux-aarch64-cpython-39/cytoolz/tests
      UPDATING build/lib.linux-aarch64-cpython-39/cytoolz/_version.py
      set build/lib.linux-aarch64-cpython-39/cytoolz/_version.py to '0.12.0'
      running build_ext
      building 'cytoolz.dicttoolz' extension
      creating build/temp.linux-aarch64-cpython-39
      creating build/temp.linux-aarch64-cpython-39/cytoolz
      aarch64-linux-android-gcc -Wno-unused-result -Wsign-compare -DNDEBUG -O3 -Wall -Os -s -fno-builtin-copysignf -D__ANDROID_API__=21 -I/home/n0n3m4/Desktop/Pydroid/pyinstall3/include/python3.9 -c cytoolz/dicttoolz.c -o build/temp.linux-aarch64-cpython-39/cytoolz/dicttoolz.o
      cytoolz/dicttoolz.c:19:10: fatal error: Python.h: No such file or directory
         19 | #include "Python.h"
            |          ^~~~~~~~~~
      compilation terminated.
      error: command '/data/user/0/ru.iiec.pydroid3/files/bin/aarch64-linux-android-gcc' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for cytoolz
Failed to build cytoolz
ERROR: Could not build wheels for cytoolz, which is required to install pyproject.toml-based projects
/storage/emulated/0 $

解决步骤

1. 安装Python开发依赖包

Pydroid默认未包含Python编译所需的头文件,需安装python3-devel:

  • 打开Pydroid 3,点击左上角侧边栏按钮
  • 选择Pydroid Repository选项
  • 在搜索框输入python3-devel,找到后点击安装

2. 重新安装tronpy

依赖安装完成后,回到终端执行:

pip3 install tronpy

备选方案(优先使用预编译包)

若不想编译源码,可尝试直接安装预编译的cytoolz包,再安装tronpy:

pip install cytoolz --only-binary :all:
pip3 install tronpy

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 13:50:25