sql >> Databáze >  >> RDS >> Mysql

mysql-python:vytvoření zcela samostatného _mysql.so na Mac OS X?

Nevadí, zjistil jsem to sám po chvíli vrtání. Je to vlastně docela jednoduché; Řešení zde zaznamenám pro případ, že by ho potřeboval někdo další:

  1. Získejte zdrojový tarball MySQL z mysql.com (nikoli binární tarball pro konkrétní platformu)

  2. Rozbalte jej, spusťte ./configure s jakýmikoli možnostmi, které vyhovují vašim účelům, ale budete potřebovat --enable-static . Pro jistotu jsem zahrnul --disable-shared , i když to nemusí být nezbytně nutné. Použil jsem následující, váš se může v jiných bodech lišit:

    (Pokud jde o parametry znakové sady a porovnávání zde:mohou být v tomto případě použití zcela zbytečné, protože poté smažu MySQL, ale protože všechna připojení klientů používají nějakou znakovou sadu/kolování, pokrývám své základní UTF-8 -moudré jen pro případ, že výchozí znaková sada/kolování používaná MySQLdb je ovlivněna tím, jak _mysql.so je zkompilován -- moudřejší muži než já bych to chtěl potvrdit tak či onak.)

  3. Získejte nejnovější zdrojový tarball mysql-python z http://pypi.python.org/pypi /MySQL-python

  4. Rozbalte jej a do site.cfg nastavte static = True a mysql_config = /usr/local/mysql-src/bin/mysql_config (nebo jakoukoli cestu, kterou jste zvolili během configure ).

  5. Spusťte python setup.py build . Některé chyby související s architekturou se mohou objevit na konci kompilace, ale lze je ignorovat.

  6. Spusťte sudo python setup.by install . Tím se ve vašich site-packages vytvoří .egg a přidá jej do souboru easy_install.pth.

  7. Jsi hotový! Nyní můžete odstranit všechny stopy MySQL a také zdroje mysql-python. Vejce lze zkopírovat tak, jak je, do jiných počítačů Mac se stejnou verzí OS X. S radostí je kopíruji do různých virtuálních prostředí vytvořených pomocí virtualenv jak mluvíme.

Fungovalo to 10.5, brzy to otestuji 10.6 a pokud bude potřeba něco udělat jinak, nahlaste výsledky zde.



  1. zf2 tablegateway vyberte sloupce podle názvu sloupce

  2. Kdy mám zavřít DatabaseHelper?

  3. Potvrdí mysql_query vše

  4. Jak vyřešit chybu mysql portu 3306 na wamp?