Python 为什么在一台Mac上编译的mysql.co不';你不在另一个上面工作吗?

Python 为什么在一台Mac上编译的mysql.co不';你不在另一个上面工作吗?,python,compilation,mysql,Python,Compilation,Mysql,我想在Mac上使用Python MySQLDB库,因此我已经编译了源代码,用我的Intel iMac(i386)在Mac10.5下获得了_mysql.so 这个mysql.co可以在我的两台iMac和另一台Macbook上运行。但就是这样,它在任何其他Mac电脑上都不起作用 这是否意味着某些特定于机器的信息被编译到文件中?如果您只构建了一个体系结构(i386/PPC),那么它将无法在具有相反体系结构的Mac上工作。这些机器是不是不能用PPC机器 有时构建配置默认设置为只构建当前的体系结构-我还没

我想在Mac上使用Python MySQLDB库,因此我已经编译了源代码,用我的Intel iMac(i386)在Mac10.5下获得了_mysql.so

这个mysql.co可以在我的两台iMac和另一台Macbook上运行。但就是这样,它在任何其他Mac电脑上都不起作用


这是否意味着某些特定于机器的信息被编译到文件中?

如果您只构建了一个体系结构(i386/PPC),那么它将无法在具有相反体系结构的Mac上工作。这些机器是不是不能用PPC机器

有时构建配置默认设置为只构建当前的体系结构-我还没有构建Python MySQLDB,所以我不确定这里是否存在这种情况,但值得检查

您可以通过终端中的“file”命令了解构建了哪些体系结构


(顺便说一句,你的意思是“.so”?我不熟悉“.co”文件。)

如果你只构建了一个体系结构(i386/PPC),那么它将无法在具有相反体系结构的Mac上工作。这些机器是不是不能用PPC机器

有时构建配置默认设置为只构建当前的体系结构-我还没有构建Python MySQLDB,所以我不确定这里是否存在这种情况,但值得检查

您可以通过终端中的“file”命令了解构建了哪些体系结构


(顺便说一句,你的意思是“.so”?我不熟悉“.co”文件。)

根据
\u mysql执行
文件检查。因此
文件:

% file _mysql.so
_mysql.so: Mach-O 64-bit bundle x86_64
确保在其不工作的Mac上为正确的体系结构编译。如果您试图在任何PowerPC(PPC)Mac上使用它,则需要将MySQLDB重新编译为通用二进制文件

例如,通用二进制文件(如预先安装的Python版本)如下所示:

% file /usr/bin/python
/usr/bin/python: Mach-O universal binary with 3 architectures
/usr/bin/python (for architecture x86_64):      Mach-O 64-bit executable x86_64
/usr/bin/python (for architecture i386):        Mach-O executable i386
/usr/bin/python (for architecture ppc7400):     Mach-O executable ppc

因此,回答您的问题:是的,似乎您可能在没有通用支持的情况下编译了该模块,但是如果没有更多信息,我无法确定地回答这个问题

对照mysql执行
文件检查。因此
文件:

% file _mysql.so
_mysql.so: Mach-O 64-bit bundle x86_64
确保在其不工作的Mac上为正确的体系结构编译。如果您试图在任何PowerPC(PPC)Mac上使用它,则需要将MySQLDB重新编译为通用二进制文件

例如,通用二进制文件(如预先安装的Python版本)如下所示:

% file /usr/bin/python
/usr/bin/python: Mach-O universal binary with 3 architectures
/usr/bin/python (for architecture x86_64):      Mach-O 64-bit executable x86_64
/usr/bin/python (for architecture i386):        Mach-O executable i386
/usr/bin/python (for architecture ppc7400):     Mach-O executable ppc

因此,回答您的问题:是的,似乎您可能在没有通用支持的情况下编译了该模块,但是如果没有更多信息,我无法确定地回答这个问题

我编译的umysql.so仅适用于i386。那些有问题的iMac也是i386架构。好的!那么,除了不工作之外,当您尝试导入模块时,您还收到了哪些错误?我编译的_mysql.So仅适用于i386。那些有问题的iMac也是i386架构。好的!那么,除了不工作之外,您在尝试导入模块时收到了哪些错误?