sql >> Database teknologi >  >> RDS >> Mysql

mysql-python:bygge en fuldstændig selvstændig _mysql.so på Mac OS X?

Pyt, fandt ud af det selv efter lidt mere gravearbejde. Det er faktisk ret simpelt; Jeg optager løsningen her, hvis en anden har brug for den:

  1. Få MySQL's kildetarball fra mysql.com (ikke den platformsspecifikke binære tarball)

  2. Pak den ud, kør ./configure med de muligheder, der passer til dine formål, men du vil kræve --enable-static . For at være sikker inkluderede jeg --disable-shared , selvom det måske ikke er strengt nødvendigt. Jeg brugte følgende, din kan afvige på andre punkter:

    (Med hensyn til charset og collation parametrene her:de kan være helt unødvendige i dette tilfælde, da jeg vil slette MySQL bagefter, men da alle klientforbindelserne bruger nogle charset/collation, dækker jeg mine baser UTF-8 -wise bare i tilfælde af, at standardtegnsættet/sorteringen brugt af MySQLdb er påvirket af hvordan _mysql.so er samlet -- klogere mænd end jeg vil måske bekræfte dette på den ene eller den anden måde.)

  3. Få den seneste kilde tarball af mysql-python fra http://pypi.python.org/pypi /MySQL-python

  4. Pak den ud og ind i site.cfg sæt static = True og mysql_config = /usr/local/mysql-src/bin/mysql_config (eller hvilken sti du end valgte under configure ).

  5. Kør python setup.py build . Nogle arkitekturrelaterede fejl kan forekomme i slutningen af ​​kompileringen, men de kan ignoreres.

  6. Kør sudo python setup.by install . Dette opretter et .æg i dine site-packages mappe og tilføjer den til filen easy_install.pth.

  7. Du er færdig! Du kan nu slette alle spor af MySQL såvel som mysql-python-kilderne. Ægget kan kopieres som det er til andre Mac'er, der kører den samme version af OS X. Jeg kopierer det med glæde til forskellige virtuelle miljøer oprettet med virtualenv mens vi taler.

Dette virkede den 10.5, jeg tester det snart den 10.6, og hvis noget skal gøres anderledes, rapporter resultaterne her.



  1. Primær nøgle med flere kolonner i MySQL 5

  2. MySQL:Automatisk stigning kun med lige eller ulige tal?

  3. Hvad er den nemmeste måde at køre et script på, når der modtages en e-mail?

  4. Hvordan fungerer PHP/MySQL-databaseforespørgsler præcist?