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

无法导入Cython模块:按官方教程编译后导入失败如何解决?

解决Pydroid3中导入Cython编译的.so文件报错问题

原因及解决步骤

1. 转移.so文件到Pydroid私有目录

Android存储权限限制了外部存储(如/storage/emulated/0/...)的文件访问,Pydroid的Python解释器默认命名空间无法直接读取这类路径下的文件:

  • 将生成的helloworld.cpython-39.so复制到Pydroid的私有工作目录,比如/data/user/0/ru.iiec.pydroid3/files/,或者你当前在Pydroid中打开的项目目录(可通过Pydroid文件管理器查看当前路径)。
  • 之后在Pydroid终端执行import helloworld尝试导入。

2. 直接在Pydroid私有目录内编译

  • 打开Pydroid文件管理器,在内部存储的Pydroid专属目录下创建项目文件夹(比如cython_demo)。
  • 将helloworld.pyx和setup.py移动到该文件夹,在终端进入此目录后重新执行编译命令(如python setup.py build_ext --inplace)。生成的.so文件会直接存放在该目录,之后可直接导入。

3. 检查存储权限与文件权限

  • 确认Pydroid已开启存储访问权限,可在系统设置的应用权限中查看并开启。
  • 若文件仍在外部存储,可尝试通过终端添加可读权限:chmod +r /storage/emulated/0/Documents/temp/helloworld.cpython-39.so(注:部分Android版本可能因权限机制限制,此方法不一定生效)。

4. 验证Python版本一致性

确保编译使用的Python版本与Pydroid内的版本完全一致(均为3.9),版本不匹配会导致导入失败。可在终端执行python --version确认版本信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 13:01:19