Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql-python:изграждане на напълно самостоятелен _mysql.so на Mac OS X?

Няма значение, разбрах сам след още малко ровене. Всъщност е доста просто; Тук ще запиша решението, в случай че някой друг има нужда от него:

  1. Вземете изходния tarball на MySQL от mysql.com (не специфичния за платформата двоичен tarball)

  2. Разопаковайте го, стартирайте ./configure с каквито и опции да отговарят на вашите цели, но ще ви е необходим --enable-static . Само за да съм сигурен, включих --disable-shared , въпреки че може да не е строго необходимо. Използвах следното, вашето може да се различава в други аспекти:

    (Относно набора от знаци и параметрите за съпоставяне тук:те може да са напълно ненужни в този случай на употреба, тъй като след това ще изтрия MySQL, но тъй като всички клиентски връзки използват някакъв набор от знаци/съпоставяне, покривам моите бази UTF-8 -wise само в случай, че наборът от знаци/колекция по подразбиране, използван от MySQLdb, е засегнат от това как _mysql.so е компилиран - по-мъдри хора, отколкото аз може да искам да потвърдят това по един или друг начин.)

  3. Вземете най-новия tarball изходен код на mysql-python от http://pypi.python.org/pypi /MySQL-python

  4. Разопаковайте го и в site.cfg задайте static = True и mysql_config = /usr/local/mysql-src/bin/mysql_config (или какъвто и да е път, който сте избрали по време на configure ).

  5. Изпълнете python setup.py build . Някои грешки, свързани с архитектурата, може да се появят в края на компилирането, но те могат да бъдат игнорирани.

  6. Изпълнете sudo python setup.by install . Това създава .egg във вашите site-packages директория и го добавя към файла easy_install.pth.

  7. Готово е! Вече можете да изтриете всички следи от MySQL, както и източниците на mysql-python. Яйцето може да бъде копирано както е на други Mac, работещи със същата версия на OS X. С удоволствие го копирам в различни виртуални среди, създадени с virtualenv докато говорим.

Това работи на 10.5, скоро ще го тествам на 10.6 и, ако нещо трябва да се направи различно, докладвайте резултатите тук.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. компресирайте текста, преди да го съхраните в базата данни на mysql

  2. Как да тествам MySQL транзакции?

  3. Има ли начин да се ограничи резултатът с ELOQUENT ORM на Laravel?

  4. MySQL кръгла дата до началото на седмицата и месеца

  5. Как да извика съхранена процедура в Entity Framework Core с входни и изходни параметри с помощта на mysql