当前位置: 首页 > 知识库问答 >
问题:

Kivy/Buildozer导入错误-pymssql.so是64位而不是32位

甄文彬
2023-03-14
I/python  ( 5335):    File "/build/phytogp/android/app/main.py", line 4, in <module>
I/python  ( 5335):    File "/build/phytogp/android/app/views/apps/phyto_app.py", line 45, in <module>
I/python  ( 5335):    File "/build/phytogp/android/app/services/twilio_service.py", line 2, in <module>
I/python  ( 5335):  ImportError: dlopen failed: "/data/data/com.phyto.phytogp/files/app/lib/python2.7/site-packages/pymssql.so" is 64-bit instead of 32-bit

据我所知,pymssql预构建的pymssql-2.1.3-cp27-cp27mu-manylinux1_x86_64.whlwheel应该同时支持64位和32位arch。

如何获得支持32位的pymssql.so

共有1个答案

滕夜洛
2023-03-14

有两件事要检查:

>

  • 确保打包了32位版本。您说wheel应该支持64位和32位,但您引用的是x86_64wheel版本。在他们的pypi页面上,他们有一个i686版本,这是您想要的32位版本。

    即使是32或64,也必须是ARM>=v7a编译的。除非您的wheels是专门为android编译的,否则它很有可能不起作用,因为Linux和android上的libc是不一样的。所以你会遇到二进制不兼容。

  •  类似资料:
    • 问题内容: 在Java中,是否保证int始终为32位,而长为64位,而不管体系结构是32位还是64位? 问题答案: Java是平台无关的。所以是32位,并且是64位的。

    • 注意:我的中的是2。我已经尝试安装一些依赖项,但是Kivy VM不允许我因为任何原因。如果有人能帮我,那就太好了!

    • 问题内容: 我的电脑正在使用Windows 7 64位。但是将要部署我的jsp Web应用程序的服务器是32位。 我需要在PC上安装32位JDK / JRE才能进行开发吗?我正在使用Eclipse。 非常感谢你。 问题答案: 您绝对不需要安装32位JRE即可进行开发。您构建的Java代码不会跟踪您的64位。(我假设您没有使用JNI,这会使事情变得有些复杂。) 不过,您 可能 需要安装32位JRE进

    • 问题内容: 我想知道x86和x64中的64位长吗? 问题答案: 是。Java 在任何JVM上都是64位,无一例外。所有Java原语类型都是完全可移植的,并且在所有实现中都具有固定的大小。

    • 问题内容: 在64位计算机上,Java中的int大小是32位还是64位? 问题答案: 32位。这是Java语言的功能之一,整数的大小不会随基础计算机而变化。请参阅规范的相关部分。

    • 问题内容: 当我输入时,它给出以下输出。 从中我如何知道给定的操作系统是32位还是64位? 这在编写脚本时非常有用,例如:我要为哪种体系结构构建? 问题答案: 尝试。缺少它并输出: 否则,请键入以下内容 ,而不是Linux内核,而是CPU : 要么: 在“标志”参数下,您将看到各种值:请参阅“ / proc / cpuinfo中的标志是什么意思? ”其中一个名为:(x86-64:amd64,也称为