PythonでMySQLを使う その1

MySQL for Pythonというのが必要らしいです。
使い方はここに。
http://jutememo.blogspot.jp/2009/04/python-mysql-mysql-python.html
まずはインストール。
http://d.hatena.ne.jp/Gateau/20091229/p1

unable to execute gcc-4.0: No such file or directory

というエラーがでる。
一応zshの設定でgcc-4.0はgcc-4.2にエイリアスを張ってあるんだけど。
(xcode4のコンパイラにはgcc4.0が入ってない)
ここのやり方を試してみる。http://stackoverflow.com/questions/5944228/python-build-using-wrong-version-of-gcc-on-os-x

export ARCHFLAGS='-arch x86_64'

とかやってみたけど変わらず。ARCHFLAGSの意味が知りたい。

ここに書いてあるようにシンボリックリンクを張った。
https://trac.macports.org/ticket/29003

cd /usr/bin
sudo ln -s gcc-4.2 gcc-4.0
sudo ln -s g++-4.2 g++-4.0

で、もう一度。

python setup.py build
sudo python setup.py install
Installed /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/MySQL_python-1.2.3-py2.6-macosx-10.3-fat.egg
Processing dependencies for MySQL-python==1.2.3
Finished processing dependencies for MySQL-python==1.2.3

いったっぽい。
試してみる。

% python
Python 2.6.6 (r266:84374, Aug 31 2010, 11:00:51) 
[GCC 4.0.1 (Apple Inc. build 5493)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/MySQL_python-1.2.3-py2.6-macosx-10.3-fat.egg/_mysql.py:3: UserWarning: Module _mysql was already imported from /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/MySQL_python-1.2.3-py2.6-macosx-10.3-fat.egg/_mysql.pyc, but /Users/shohei/Downloads/MySQL-python-1.2.3 is being added to sys.path
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "MySQLdb/__init__.py", line 19, in <module>
    import _mysql
  File "build/bdist.macosx-10.3-fat/egg/_mysql.py", line 7, in <module>
  File "build/bdist.macosx-10.3-fat/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/shohei/.python-eggs/MySQL_python-1.2.3-py2.6-macosx-10.3-fat.egg-tmp/_mysql.so, 2): no suitable image found.  Did find:
        /Users/shohei/.python-eggs/MySQL_python-1.2.3-py2.6-macos-10.3-fat.egg-tmp/_mysql.so: mach-o, but wrong architecture

wrong architechtureということなので、32bitと64bitが混在しているということ。
とりあえずアンインストールする。
http://steveno.wordpress.com/2009/03/26/uninstall-mysql-on-mac-os-x/

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
edit /etc/hostconfig and remove the line MYSQLCOM=-YES-
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*

と思ったら、MySQLごとアンインストールしたぜ。orz まあいいや。
もう一度MySQLをインストールし直そう。 >> つづく