如何在 Debian Lenny 上的 Python 2.6 源代码版本上安装 MySQLdb?

如何在 Debian Lenny 上的 Python 2.6 源代码版本上安装 MySQLdb?

我已经在 Debian Lenny 服务器上从源代码安装了 Python 2.6,因为 Lenny 没有 python2.6 包。因此,我的 Python 2.5 已安装 MySQLdb 并且运行正常,因为我安装了 python-mysqldb 包。

我想我可以从源代码安装 MySQLdb,但是因为我有 Lenny python-dev 包,所以它是针对 2.5 构建的:

# python setup.py build
running build
running build_py
copying MySQLdb/release.py -> build/lib.linux-x86_64-2.5/MySQLdb
running build_ext
building '_mysql' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,3,'final',0) -D__version__=1.2.3 -I/usr/include/mysql -I/usr/include/python2.5 -c _mysql.c -o build/temp.linux-x86_64-2.5/_mysql.o -DBIG_JOINS=1 -fPIC
gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions build/temp.linux-x86_64-2.5/_mysql.o -L/usr/lib/mysql -lmysqlclient_r -o build/lib.linux-x86_64-2.5/_mysql.so

我不想运行python setup.py install,因为我担心它会搞砸 2.5 版的 MySQLdb —— 我应该这样做吗?我想它只会覆盖 2.5 版,而不会对 2.6 版做任何处理 —— 也许我可以使用一个参数来安装到 2.6 版?我想我还需要针对 2.6 版进行构建,那么我该怎么做呢?

答案1

事实证明这非常简单!我现在意识到,无论你用哪个版本的 Python 启动 setup.py,它都会构建 - 在我的情况下,我已将其python符号链接到python2.5

因此,不要运行 ,而是python运行python2.6

# python2.6 setup.py build
running build
running build_py
creating build/lib.linux-x86_64-2.6
copying _mysql_exceptions.py -> build/lib.linux-x86_64-2.6
creating build/lib.linux-x86_64-2.6/MySQLdb
-- snip --

相关内容