Como instalo o MySQLdb em uma compilação de fontes do Python 2.6, no Debian Lenny?

1

Instalei o Python 2.6 a partir do código-fonte em meu servidor Debian Lenny, pois o Lenny não possui o pacote python2.6. Então, meu Python 2.5 tem MySQLdb instalado e funcionando bem porque eu instalei o pacote python-mysqldb.

Eu imaginei que poderia apenas instalar o MySQLdb a partir do código-fonte, mas como eu tenho o pacote Lenny python-dev, ele é construído contra 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

Eu não quero correr python setup.py install , porque eu tenho medo de estragar MySQLdb na 2.5 - eu deveria? Eu imagino que seria apenas substituir 2,5 e não fazer nada para 2,6 - talvez haja um argumento que eu possa usar para instalar a 2.6? Eu imagino que eu precisaria também construir contra o 2.6, então como faço isso?

    
por Nick Bolton 01.07.2010 / 01:27

1 resposta

1

Acontece que isso é extremamente fácil! Eu percebo agora que ele é construído contra qualquer versão do python que você iniciar o setup.py com - no meu caso eu tive python symlinked to python2.5

Portanto, em vez de executar python , execute 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 --
    
por 01.07.2010 / 01:55

Tags