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

Nemmere opsætning til at skrive til MySQL på OSX med Python

Desværre er der virkelig ingen triviel løsning i øjeblikket. Hvis du har brug for at bruge MySQL med Python, er den enkleste og mest pålidelige løsning på OS X at installere alt - Python, MySQLdb, eventuelle andre nødvendige Python-pakker fra tredjepart, MySQL-klientbiblioteker og, om nødvendigt, MySQL-serverbiblioteker og -værktøjer - ved at bruge et pakkehåndteringssystem, såsom MacPorts . At prøve at installere de forskellige komponenter fra forskellige kilder løber ofte ind i problemer med inkompatibilitetsbyggede eksekverbare filer og biblioteker:32-bit vs 64-bit, forskellige ABI'er (10.3 vs 10.6) osv.

For et system med Xcode og MacPorts-basesystemet installeret, kan du bygge og installere alt med én kommando:

sudo port install py27-mysql

Hvis du også har brug for MySQL-serveren:

sudo port install py27-mysql mysql5-server

Alle MacPorts-installerede eksekverbare filer vil blive installeret som standard i /opt/local , så du skal bare køre tingene derfra:

/opt/local/bin/python2.7

For at gøre det nemmere for dine brugere, bør du være i stand til at bruge MacPorts til at bygge det sæt nødvendige porte som binære arkiver og opsætte et script til at installere MacPorts-basesystemet og derefter dine forudbyggede pakker. Der er nogle oplysninger om dette i MacPorts-vejledningen her . Meget af det er dog forældet for MacPorts 2.0.x. Indtil vejledningen er opdateret, er der information, der starter her . Den sikreste tilgang ville være at bygge et andet sæt pakker for hver understøttet OS X-udgivelse. Det måske være muligt at bygge et opadkompatibelt sæt på det ældste system, der er nødvendigt:f.eks. byg pakker på 10.5, der også ville fungere på 10.6 og 10.7 systemer. For at forhindre interferens med kundernes MacPorts-installationer kan du også bygge MacPorts-basesystemet fra kilden og ændre installationsroden til noget andet end /opt/local .

En mere idiomatisk tilgang til OS X ville være at bruge py2app at oprette en applikationspakke, der inkluderer Python og MySQL-klientbibliotekerne. Jeg ved ikke, om nogen har gjort det med succes.

Et andet forslag:Hvis du ikke rigtig har brug for en ekstern server, så overvej at bruge SQLite i stedet. Support til SQLite er inkluderet i Python Standard Library.




  1. BULK INSERT med identitet (auto-increment) kolonne

  2. Tilslutning af Talend på Windows til en ODBC-database

  3. php display multilevel treenode menu

  4. hvordan man indsætter flere array i databasen ved hjælp af PHP