V poslední době si pohrávám s pythoním webovým frameworkem Django a jal jsem se ho zkoušet na svém serveru s OS CentOS 5.5. Protože jsem od přírody lenoch, nechtělo se mi experimentovat s jinými databázemi než na serveru mám – skončil jsem u MySQL. Uznávám, ještě by šlo použít sqlite, ale já jsem přeci jen s tím MySQL nějak víc kamarád.
Pročetl jsem pár blogpostů a příspěvků o tom, že pod CentOSem je problém podporu MySQL pro python (MySQLdb) rozjet, protože balík z repozitářů (MySQL-python), který to má obstarávat je satršího data (v repozitářích je aktuálně verze 1.2.1-1) a že nejlepší je kompilace aktuálního balíku. Nene, jeden balík je tu … schovaný.
V dokumentaci se dá vyčíst, že aktuální Django si rozumí s MySQLdb od verze 1.2.1p2 a výše. Gól. Jak jsem psal, jsem línej, takže hlídat (bezpečnostní) aktualizace různých programů a pravidelně je překompilovávat a testovat je nad moje (i časové) možnosti. Vítám tedy systém balíčků, na kterém součastné distribuce pracují. Nebudu dlouho napínat – správná verze balíku MySQL-python, který je potřeba pro správný chod, se nachází v oficiálním testovacím repozitáři distribuce CentOS. Pokud jste z ní nic neinstalovali, zde je jednoduchý postup:
V /etc/yum.repos.d vytvoříme nový soubor pojenovaný CentOS-Testing.repo a naplníme jej následovně:
# CentOS-Testing: # !!!! CAUTION !!!! # This repository is a proving grounds for packages on their way to CentOSPlus and CentOS Extras. # They may or may not replace core CentOS packages, and are not guaranteed to function properly. # These packages build and install, but are waiting for feedback from testers as to # functionality and stability. Packages in this repository will come and go during the # development period, so it should not be left enabled or used on production systems without due # consideration. [c5-testing] name=CentOS-5 Testing baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/ enabled=1 gpgcheck=1 gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing includepkgs= MySQL-python
Poslední řádek říká správci balíků (yum), ať z tohoto repozitáře používá jen a pouze vyjmenované balíky. V případě testovacího repozitáře je to rozumné (nachází se zde např. novější verze php, tak ať vás to při aktualizaci nepříjemně nepřekvapí).
Po uložení souboru Centos-Testing.repo stačí systém aktualizovat (v případě, že balík MySQL-python již máte instalovaný) nebo jej přímo nainstalovat:
yum -y update #nebo yum install MySQL-python
Done. Hodně štěstí a zábavy.


Leave a Reply