我被指派维护一个用 Python 编写的与 MySQL 交互的工具。用户通过使用不同版本 Python 的不同应用程序使用此工具。
有时,同一应用程序的软件版本之间的 Python 版本会发生变化。我们无法控制用户选择与之交互的应用程序(尽管它们都有 Python 接口并在 OS X 下运行),但除了 Python-MySQL 的问题外,我几乎可以正常工作。具体来说,某些软件使用 64 位版本的 Python。其他的则带有 32 位版本。OS X(我需要支持的操作系统)安装了 Python 和 Python-MySQL 32 位,所以如果我尝试:
import MySQLdb
在使用 Python 64 位的软件中,导入失败,应用程序会说 OS X 附带的 MySQL 的二进制文件类型错误。
我已将 Python-MySQL 下载、编译并安装为 64 位应用程序,但 Python-MySQL 使用 Python 鸡蛋。似乎鸡蛋被硬编码为指向特定的磁盘位置。在我的机器上是/usr/local/lib/mysql
.
如果我在该路径上有 64 位版本,那么我的工具适用于具有 Python 64 位的应用程序,但所有其他使用 32 位版本 Python 的工具都会失败。如果我在该磁盘位置有 32 位版本的 MySQL,则 32 位工具可以工作,而 64 位版本将停止执行我需要的操作。
我试图创建不同的鸡蛋并拥有一个 64 位版本,我将鸡蛋更改为指向,/usr/local/lib/mysql_x86_64
但我不知道该怎么做。我还尝试在编译 Python-MySQL 以指向该位置时更改设置,但我找不到这样做的方法。
现在我正在谷歌上搜索我的生活,但如果我刚刚写的内容对任何人敲响了警钟,你介意启发我吗?
我根本不是 Python-MySQL 专家。